【问题标题】:qml how to keep focus on TextFieldqml如何保持专注于TextField
【发布时间】:2018-01-19 08:49:39
【问题描述】:

我想继续关注 TextField。例如,我正在输入一些东西,然后点击按钮。 TextField 的重点正在转移到按钮上,这就是键盘在 Android 上自动隐藏的原因。我正在使用 Qt 5.9.2。提前致谢!

【问题讨论】:

  • “我正在输入内容,然后点击按钮”。当焦点切换时,您输入的是新行按钮吗?
  • @DorinBotan 这个按钮发送我输入的信息。
  • 发送 1 条消息令人沮丧,键盘自动隐藏,然后点击显示键盘的 TextField 然后发送第二条消息。
  • 奇怪的是,在旧版本的 Qt 中,我遇到了相反的问题 - 键盘没有隐藏。我通过做某事解决了这个问题。就像我的 QML TextField 中的 Keys.onEnterPressed: Qt.inputMethod.hide()。你能做相反的事情,当它隐藏时把键盘弹回来吗?
  • 是的,我确实将焦点返回到 TextField 并显示键盘,但此时应用程序闪烁。我的意思是键盘隐藏和显示,它实际上非常好。

标签: qt keyboard qml focus textfield


【解决方案1】:

在 Qt Quick Controls 2 中,每个控件都有一个focusPolicy 属性,它决定了控件如何获得焦点。 Button 等控件的默认值是Qt.StrongFocus,这意味着按钮在被单击或进入后获得焦点。如果您看到某个控件有焦点但您不希望它有焦点,只需将其 focusPolicy 设置为 Qt.NoFocus

focusPolicy: Qt.NoFocus

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多