Qt文档阅读笔记-Button QML Type官方解析及实例
发布日期:2021-06-30 10:58:52
浏览次数:2
分类:技术文章
本文共 2475 字,大约阅读时间需要 8 分钟。
目录
官方解析
按钮展示了一个按钮控件,这个控件可以被用户所按下,按钮是通常被用于执行一个操作,或者解决一个问题。buttons有如下几个典栗,如Ok,Apply,Cancel,Close,Yes,No,Help。
一个按钮可以触发clicked()信号,连接这个信号可以执行某些操作。按钮也提供了如下的几个信号canceled(),doubleClicked(), pressed(),released()和pressAndHold(),以及长按。 下面这个片段展示了按钮的信号该如何连接:RowLayout { Button { text: "Ok" onClicked: model.submit() } Button { text: "Cancel" onClicked: model.revert() } }下面说下自定义按钮,按钮由2个可视化item:background和content item组成
import QtQuick 2.6 import QtQuick.Controls 2.1 Button { id: control text: qsTr("Button") contentItem: Text { text: control.text font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } background: Rectangle { implicitWidth: 100 implicitHeight: 40 opacity: enabled ? 1 : 0.3 border.color: control.down ? "#17a81a" : "#21be2b" border.width: 1 radius: 2 } }
博主栗子
程序运行截图如下:
源码如下:
main.cpp
#include#include int main(int argc, char *argv[]){ QApplication a(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl("qrc:/main.qml")); if(engine.rootObjects().isEmpty()){ return -1; } return a.exec();}
main.qml
import QtQuick 2.7import QtQuick.Controls 2.0import QtQuick.Layouts 1.3ApplicationWindow { visible: true width: 800 height: 600 RowLayout{ anchors.centerIn: parent Button{ text: "Ok" onClicked: { console.log("Button clicked!") } } MyButton{ id: helloMyButton onClicked: { console.log("MyButton clicked!") } } }}
MyButton.qml
import QtQuick 2.6import QtQuick.Controls 2.1Button { id: control text: qsTr("MyButton") contentItem: Text{ text: control.text font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } background: Rectangle{ implicitHeight: 100 implicitWidth: 40 opacity: enabled ? 1 : 0.3 border.color: control.down ? "#17a81a" : "#21be2b" border.width: 1 radius: 2 }}
转载地址:https://it1995.blog.csdn.net/article/details/86261433 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月30日 23时45分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux 守护进程
2019-04-30
MySQL5.7中datetime和timestamp的区别及使用
2019-04-30
mysql5.7优化插入记录的速度
2019-04-30
mysql 5.7 连接超时参数设置
2019-04-30
mysql 中 分析表 检查表 优化表
2019-04-30
mysql 中锁的一致性非锁定读 和 一致性锁定读
2019-04-30
mysql中 锁行方式for Update 和 lock in share mode
2019-04-30
mysql 如何解决幻像问题(Phantom Problem)
2019-04-30
mysql 中阻塞讲解
2019-04-30
mysql 中锁升级问题
2019-04-30
mysql5.7使用GTID特性搭建主从复制
2019-04-30
hive 数据倾斜问题汇总
2019-04-30
和面试官谈一谈高并发场景下锁的使用技巧
2019-04-30
六、DDE服务器函数
2019-04-30
八、国际化函数
2019-04-30
九、库管理函数
2019-04-30
十、数值计算函数
2019-04-30
十一、打印和打印机设置函数
2019-04-30