【问题标题】:How to forbid triggering input method when the input method hotkey is pressed in QLineEdit in Qt?Qt中QLineEdit中按下输入法热键时如何禁止触发输入法?
【发布时间】:2014-08-21 06:22:02
【问题描述】:

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

你有什么想法吗?

【问题讨论】:

    标签: qt qlineedit


    【解决方案1】:

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

    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;
    }
    

    【讨论】:

    • 谢谢大家,虽然我的qt版本是4.7.1,但出于某种原因。
    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多