支持的用户输入类型
Qt Quick 模块支持最常见的用户输入类型,包括鼠标和触摸事件、文本输入和按键事件,其他模块为其他类型的用户输入提供支持。
鼠标和触摸事件
输入处理程序让 QML 应用程序处理鼠标和触摸事件。 例如,您可以通过将 TapHandler 添加到 Image 或添加到其中包含 Text 对象的 Rectangle 来创建按钮,TapHandler 响应轻敲或点击任何类型的定点设备。
import QtQuickItem {id: rootwidth: 320height: 480Rectangle {color: "#272822"width: 320height: 480}Rectangle {id: rectanglex: 40y: 20width: 120height: 120color: "red"TapHandler {onTapped: rectangle.width += 10}}}
注意:某些项目类型有自己的内置输入处理。 例如,Flickable 响应鼠标拖动、轻触和鼠标滚轮滚动。
键盘和按钮事件
来自设备、小键盘或键盘上的按钮和按键都可以使用 Keys 附加属性进行处理,此附加属性可用于所有 Item 派生类型,并与 Item::focus 属性一起确定接收键事件的类型。 对于简单的键处理,您可以在单个 Item 上将焦点设置为 true 并在那里进行所有键处理。
import QtQuickItem {id: rootwidth: 320height: 480Rectangle {color: "#272822"width: 320height: 480}Rectangle {id: rectanglex: 40y: 20width: 120height: 120color: "red"focus: trueKeys.onUpPressed: rectangle.y -= 10Keys.onDownPressed: rectangle.y += 10Keys.onLeftPressed: rectangle.x += 10Keys.onRightPressed: rectangle.x -= 10}}
以下代码段演示了如何在您的应用程序中使用这些类型:
import QtQuickimport QtQuick.Controlsimport QtQuick.LayoutsApplicationWindow {width: 300height: 200visible: trueColumnLayout {anchors.fill: parentTextField {id: singlelinetext: "Initial Text"Layout.alignment: Qt.AlignHCenter | Qt.AlignTopLayout.margins: 5background: Rectangle {implicitWidth: 200implicitHeight: 40border.color: singleline.focus "#21be2b" : "lightgray"color: singleline.focus "lightgray" : "transparent"}}TextArea {id: multilineplaceholderText: "Initial textn...n...n"Layout.alignment: Qt.AlignLeftLayout.fillWidth: trueLayout.fillHeight: trueLayout.margins: 5background: Rectangle {implicitWidth: 200implicitHeight: 100border.color: multiline.focus "#21be2b" : "lightgray"color: multiline.focus "lightgray" : "transparent"}}}}
Qt商用组件推荐
- QtitanRibbon – Ribbon UI组件:是一款遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,QtitanRibbon致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
- QtitanChart – Qt类图表组件:是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。
- QtitanNavigation:QtitanNavigationDesignUI 组件是一组 GUI 控件,它实现了菜单、导航框、命令栏等导航界面,并让您以更少的滚动和点击次数有效地查看所有实体(工作区、 格或其他项目)。
- QtitanDocking:允许您像 Visual Studio 一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持 Visual Studio 2019 主题!
Qt技术交流群4:166830288 欢迎一起进群讨论
更多Qt产品教程、下载、正版授权资讯,请点击获取

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!