keyPressEvent是QWidget里面的函数,所以凡是继承自QWidget的类都可以通过实现这个函数来完成对按键事件的响应。
要让当前的widget能够响应按键事件,最先需要做的事情是,调用:
构造函数加入setFocusPolicy(Qt::StrongFocus);
头文件
class DebugDialog : public QDialog
{
Q_OBJECT
public:
explicit DebugDialog(QWidget *parent = nullptr);
~DebugDialog();
void keyPressEvent(QKeyEvent *keyValue);
QString co;
private slots:
void on_pushButton_printer_clicked();
void on_pushButton_scanner_clicked();
void on_pushButton_Print_clicked();
private:
Ui::DebugDialog *ui;
};
#endif // DEBUGDIALOG_H
void DebugDialog::keyPressEvent(QKeyEvent *event)
{
//if (0x30 <= event->key() && 0x39 >= event->key())
{
char st=event->key();
QString str_ascii = QString(st);
//qDebug()<<event->key();
co+=str_ascii;
qDebug()<<co;
}
}