2

keyPressEvent を使用しようとしていますが、ウィンドウにフォーカスがあり、QWidget がない場合にのみ機能します。

これが私のコードです:

customdialog.h で:

class CustomDialog : public QDialog, public Ui::CustomDialog 
{
    Q_OBJECT

private:
    Ui::CustomDialog *ui;

    QString lastKey;

public:
    CustomDialog(QWidget * parent = 0);

protected:
    void keyPressEvent(QKeyEvent *e);

};

customdialog.cpp で:

void CustomDialog::keyPressEvent(QKeyEvent *e)
{
    lastKey = e->text();
    qDebug() << lastKey;
}

このクラス内のすべてのウィジェットで同じ keyPressEvent を使用するにはどうすればよいですか?

4

2 に答える 2