为实现热键功能,无疑避开不了QLineEdit的Keypress事件,然而,当输入法为英文时,键盘点击事件都能捕获到,但切换到中文时,字母键盘点击时会弹出输入法,同时捕获不到点击事件。
通过以下方法可以解决该问题:
QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setAttribute(Qt::WA_InputMethodEnabled,false); //屏蔽输入法的影响
为实现热键功能,无疑避开不了QLineEdit的Keypress事件,然而,当输入法为英文时,键盘点击事件都能捕获到,但切换到中文时,字母键盘点击时会弹出输入法,同时捕获不到点击事件。
通过以下方法可以解决该问题:
QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setAttribute(Qt::WA_InputMethodEnabled,false); //屏蔽输入法的影响