QWidget comment recevoir événement keypressevent à l'intérieur de widgets enfants

J'ai été l'une des principales Widget et à l'intérieur de ce widget, j'ai QListWidget et deux boutons. J'ai remplacer le keyPressEvent à l'intérieur du widget principal (héritée de QWidget). Je peux recevoir le keyPress événements lorsque le focus n'est pas sur QListWidget, mais lorsque le focus se trouve à l'intérieur de la QListWidget je ne suis pas en mesure de recevoir ces keyPress événements. Ci-dessous le code que j'ai utilisé pour ce faire:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->setFocusPolicy(Qt::StrongFocus);

    ui->listWidget->addItem(new QListWidgetItem("Item1"));
    ui->listWidget->addItem(new QListWidgetItem("Item2"));
    ui->listWidget->addItem(new QListWidgetItem("Item3"));

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::keyPressEvent(QKeyEvent *event)
{
    qDebug() << "event->key(): " << event->key();

    QWidget::keyPressEvent(event);
}
Que voulez-vous faire avec les touches?

OriginalL'auteur gmuhammad | 2014-10-14