zoukankan      html  css  js  c++  java
  • Qml之编辑框控件

    Qml中基本的文本输入组件包括:TextInput、TextField、TextEdit、TextArea。

    具体的区别参见:

    https://blog.csdn.net/gongjianbo1992/article/details/101156110

    https://blog.csdn.net/kanchuan1905/article/details/53839930

    实现一个普通的编辑框控件

    方式一:使用TextInput

    1、TextInput仅是一个普通的文本输入,没有上图的默认字体,没有上图的矩形框。

    2、因此,需要额外额外添加一个矩形框。注意:这个矩形框的位置,文本输入的限制等

    3、默认字体。TextInput不会提供出默认的占位符。

    一套组合拳公式:编辑框=Rectangle+TextInput+Text

    注意点:

    1)如果需要配置占位文本,Text的visible一定要设置;否则叠加输入而不是编辑框。如(visible: (equipNameData.text === "" && !equipNameData.focus) ? true : false)

    2)TextInput一定要设置clicp:true,否则输入的文本会可能会超出Rectangle。设置clip:true后当元素的子项超出父项范围后会自动裁剪。

    Rectangle{
         250
        height: 32
        x:50
        y:10
        border. 1
        border.color: Qt.rgba(0,0,0,0.15)
     
        TextInput{
            id:equipNameData
             parent.width
            clip:true
            autoScroll:true
            horizontalAlignment: Text.AlignLeft
            verticalAlignment: Text.AlignVCenter
            font.pixelSize: 16
            font.family: "Microsoft YaHei"
            //validator: RegExpValidator { regExp: /[0-9A-Za-z]+/ }
            wrapMode: TextInput.NoWrap
            onTextChanged: {
                console.log(equipNameData.text)
            }
     
            Text {
                anchors.left: parent.left
                anchors.leftMargin: 2
                anchors.horizontalCenter: parent.horizontalCenter
                text: qsTr("如:XX产业园XX楼XX区XX设备")
                color: "#999999"
                font.family: "Microsoft YaHei"
                font.pixelSize: 14
                visible: (equipNameData.text === "" && !equipNameData.focus) ? true : false
            }
        }
    }

    方式二:使用TextField

    1、TextField将会默认配置好矩形框、默认文本、输入文本。

    注意:

    1) TextField默认有背景色。即TextField选中时,矩形框的边框会变色,凸显出选中的效果。可以通过配置background: Rectangle修改,如:

    TextField{
        id:equipNameData1
        x:350
        y:10
        placeholderText:qsTr("如:XX产业园XX楼XX区XX设备")
        font.family: "Microsoft YaHei"
        font.pixelSize: 14
        250
        height:32
        background: Rectangle {
            border.color: "#26000000"
        }
        onTextChanged: {
               console.log(equipNameData1.text)
        }
    }
  • 相关阅读:
    pip备忘录
    Vue.js---------------1引入
    centos安装数据库
    Python之网络编程二
    Python之协议
    Python高级
    jvm-3学习教程
    jvm学习-2
    jvm相关学习
    八种常用的排序算法
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/15027958.html
Copyright © 2011-2022 走看看