找回密码
 立即注册
收起左侧

qml 如何让输入框失去焦点?

1
回复
12158
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2021-4-9 23:02:29 显示全部楼层 |阅读模式
1Qter豆

我的界面上只有三个控件:1.输入框,2.Button,3. 单选按钮
我发现当输入框获得焦点后,光标在输入框里闪烁,此时当我单击button或者单选按钮后,光标依然在输入框闪烁,

我的问题
1. 这是否说明当单击Button或者单选按钮后焦点还在输入框里?
2. 如何实现当单击Button或者单选按钮后让输入框失去焦点?

我的代码如下:


import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls 1.4
Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    Rectangle{
        width: 240
        height: 80
        border.color:"#FFFF00"
        border.width: 3
        anchors.centerIn: parent
        radius: 5
        TextInput{
            id:input
            anchors.fill:parent
            anchors.margins: 2
        }
    }

    Row{
        anchors.left: parent.left
        anchors.right: parent.right
        anchors.bottom: parent.bottom
        height: 30
        spacing: 10
        ExclusiveGroup{
            id:group
        }
        RadioButton{
            id:radio_1
            exclusiveGroup: group
            text: qsTr("Base")
        }
        RadioButton{
            id:radio_2
            exclusiveGroup: group
            text: qsTr("Advanced")
        }
        RadioButton{
            id:radio_3
            exclusiveGroup: group
            text: qsTr("Advanced")
        }
    }

    Button{
        id:btn
        text: "OK"

        onClicked: {
            console.log(input.text)
            console.log(btn.text)
        }
    }
}


最佳答案

回复

使用道具 举报

累计签到:27 天
连续签到:1 天
2021-4-9 23:02:30 显示全部楼层

  1.     Button{
  2.         id:btn
  3.         text: "OK"
  4.         focus: true
  5.         onClicked: {
  6.             console.log(input.text)
  7.             console.log(btn.text)
  8.             input.focus = false
  9.         }
  10.     }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了