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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Qt文档阅读笔记-Label QML Type官方解析及实例
下一篇:Qt文档阅读笔记-QSet官方解析及实例

发表评论

最新留言

不错!
[***.144.177.141]2024年04月30日 23时45分21秒