在Qt中的QLineEdit中按下输入法热键时如何禁止触发输入法?

时间:2014-08-21 06:22:03

标签: qt qlineedit

我正在开发一个Windows桌面应用。我想实现一个基于QLineEdit 的小部件,它接收我的应用程序的热键设置,因此小部件不应该在相应的热键时触发输入法,例如组合Ctrl按下Shift键。

你对此有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在Qt中有类似的小部件QKeySequenceEdit。 (它看起来像QLineEdit,但有按快捷键字)

http://qt-project.org/doc/qt-5/qkeysequenceedit.html

此小部件也可在Qt Designer中使用,输入窗口小部件 - 键序列编辑。

此外,如果您按Ctrl + V作为例子,小部件会抓住此热键(不粘贴)

使用示例

void MainWindow::on_keySequenceEdit_editingFinished()
{
    QKeySequence key;
    key = ui->keySequenceEdit->keySequence();
    qDebug() << key;
}