【问题标题】:QLineEdit::text is incomplete with Android virtual keyboardQLineEdit::text 使用 Android 虚拟键盘不完整
【发布时间】:2017-12-04 12:53:37
【问题描述】:

如果我使用 Android 原生虚拟键盘,QLineEdit 无法获取所有输入的单词。 (Qt 5.7,Android 6)

如果我输入“强制输入”(如图所示)并调用

QLineEdit::text()

我只得到“Force”。

如何获取全文?

【问题讨论】:

    标签: android qt virtual-keyboard


    【解决方案1】:

    问题是“输入”仍在输入/输入(注意下划线)并且尚未提交给应用程序。您现在可以使用 QInputMethod::commit 强制提交所有内容:

    将用户当前正在撰写的单词提交给编辑器。这 具有文本预测功能的输入法最需要该功能 脚本用于输入的功能和方法 字符与实际附加到的脚本不同 编辑。任何打断文本撰写的动作 需要通过调用 commit() 函数刷新作曲状态, 例如当光标移动到别处时。

    之后,您应该能够使用QLineEdit::text 检索所有文本。

    替代方案QLineEdit::displayText

    正如here 所讨论的那样,可以使用QLineEdit::displayText 而无需先调用QInputMethod::commit

    【讨论】:

    • QLineEdit::displayText 没有帮助,但这个决定帮助了我 QInputMethod *input = QApplication::inputMethod(); input->commit(); 谢谢!
    猜你喜欢
    • 2018-09-06
    • 1970-01-01
    • 2010-12-12
    • 2011-12-29
    • 2011-01-04
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多