QML控件类型:TextField、TextArea

TextField

一、描述

TextField 是单行文本编辑器,继承自 TextInput。TextField 使用占位符文本功能扩展了 TextInput

二、属性成员

1、background : Item

背景项目。

如果背景项没有明确指定大小,它会自动遵循控件的大小。在大多数情况下,不需要为背景项目指定宽度或高度。

大多数控件使用背景项的隐式大小来计算控件本身的隐式大小。如果将背景项目替换为自定义项目,还应该考虑为其提供一个合理的隐式大小(除非它是像 Image 这样的项目,它有自己的隐式大小)。

2、bottomInset : real、leftInset : real、rightInset : real、topInset : real

见:Control

3、focusReason : enumeration

上次焦点更改的原因。

  • Qt.MouseFocusReason:发生鼠标操作。
  • Qt.TabFocusReason:Tab 键被按下。
  • Qt.BacktabFocusReason:Backtab 发生。输入可能包括 Shift 或 Control 键;例如 Shift+Tab。
  • Qt.ActiveWindowFocusReason:窗口系统使该窗口处于活动或非活动状态。
  • Qt.PopupFocusReason:应用程序打开/关闭了一个抓取/释放键盘焦点的弹出窗口。
  • Qt.ShortcutFocusReason:用户输入了标签的好友快捷方式。
  • Qt.MenuBarFocusReason:菜单栏获得焦点。
  • Qt.OtherFocusReason:其他原因,通常是特定于应用程序的。

4、hoverEnabled : bool

是否接受悬停事件。默认为 false。

5、【只读】hovered : bool

当前是否悬停。

6、【只读】implicitBackgroundHeight : real

隐式背景高度。等于 background ? background.implicitHeight : 0。

7、【只读】implicitBackgroundWidth : real

隐式背景宽度。等于 background ? background.implicitWidth : 0。

8、placeholderText : string

提示文本。

9、placeholderTextColor : color

placeholderText 的颜色。

三、信号成员

1、pressAndHold(MouseEvent event)

长按时发出此信号(延迟取决于平台)。 event 参数提供有关按下的信息,包括按下的 x 和 y 坐标,以及按下了哪个按钮。

2、pressed(MouseEvent event)

按下鼠标时会发出此信号。

3、released(MouseEvent event)

释放鼠标时发出此信号。

四、自定义TextField

import QtQuick
import QtQuick.Controls

TextField
{
    id: control
    placeholderText: qsTr("请输入内容")

    background: Rectangle
    {
        implicitWidth: 200
        implicitHeight: 40
        color: control.enabled ? "transparent" : "#353637"
        border.color: control.enabled ? "#21be2b" : "transparent"
    }
}
import QtQuick
import QtQuick.Controls
import "qrc:/qml/"

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    MYTextField
    {
    }

    TextField
    {
        y:100
    }
}


TextArea

一、描述

TextArea  是多行文本编辑器,继承自 TextEdit。TextField 使用占位符文本功能扩展了 TextEdit 

TextArea 本身不可滚动。如果想让 TextArea 可滚动,可以将其放置在 ScrollView  中。

import QtQuick
import QtQuick.Controls

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    ScrollView {
        id: view
        anchors.fill: parent

        TextArea {
            text: "TextArea\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n...\n"
        }
    }
}

Tab 焦点

默认情况下,在 TextArea 具有活动焦点时按下 Tab 键会导致将 Tab 字符输入到控件本身中。要使选项卡将活动焦点传递到另一个项目,使用附加的 KeyNavigation 属性:

TextField {
    id: textField
}

TextArea {
    KeyNavigation.priority: KeyNavigation.BeforeItem
    KeyNavigation.tab: textField
}

二、属性成员

与 TextField 相同。

三、附加属性成员

1、TextArea.flickable : TextArea

附加到 Flickable  的 TextArea。

四、信号成员

与 TextField 相同。

五、自定义TextArea

import QtQuick
import QtQuick.Controls

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    TextArea {
        id: control
        placeholderText: qsTr("请输入内容")
        placeholderTextColor:"#ee5555"

        background: Rectangle {
            implicitWidth: 200
            implicitHeight: 40
            border.color: control.enabled ? "#21be2b" : "transparent"
        }
    }
}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值