QML控件--DialogButtonBox

文章目录

  • 一、控件基本信息
  • 二、控件使用
  • 三、属性成员
  • 四、附加属性成员
  • 五、成员函数
  • 六、信号

一、控件基本信息

Import Statement:import QtQuick.Controls 2.14
Since:Qt 5.8
Inherits:Container


二、控件使用

DialogButtonBox:是一个按钮容器
对话框和消息框通常以符合该平台的界面指南的顺序显示按钮,不同的平台总是有不同顺序的对话按钮,DialogButtonBox 允许开发人员向其中添加按钮,并且会自动为用户平台使用适当的顺序

在这里插入图片描述

import QtQuick 2.10
import QtQuick.Window 2.10
import QtQuick.Controls 2.3

ApplicationWindow{
    visible: true;
    width: 1280;
    height: 720;

    Row{
        DialogButtonBox {	//指定标准按钮
            standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

            onAccepted: console.log("Ok clicked")
            onRejected: console.log("Cancel clicked")
        }

        DialogButtonBox {	//手动指定按钮及其角色
            Button {
                text: qsTr("Close")
                DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
            }
            Button {
                text: qsTr("Save")
                DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
            }
        }

    }

}

当在按钮框中单击按钮时,会为实际按下的按钮发出 clicked() 信号。 此外,当按下具有相应角色的按钮时,会自动发出以下信号:

  • AcceptRole、YesRole:accepted()
  • ApplyRole:applied()
  • DiscardRole:discarded()
  • HelpRole:helpRequested()
  • RejectRole、NoRole:rejected()
  • ResetRole:reset()

三、属性成员

1、alignment : flags 按钮的对齐方式

  • undefined:按钮被调整大小以填充可用空间;
  • Qt.AlignLeft:左对齐;
  • Qt.AlignRight:右对齐;
  • Qt.AlignTop:顶部对齐;
  • Qt.AlignBottom:底部对齐;
  • Qt.AlignHCenter:水平居中;
  • Qt.AlignVCenter:垂直居中

2、buttonLayout : enumeration 在排列按钮框中包含的按钮时要使用的按钮布局策略。默认值是特定于平台的

  • DialogButtonBox.WinLayout:使用适用于 Windows 应用程序的策略;
  • DialogButtonBox.MacLayout:使用适用于 macOS 上的应用程序的策略;
  • DialogButtonBox.KdeLayout:使用适合 KDE 应用程序的策略;
  • DialogButtonBox.GnomeLayout:使用适用于 GNOME 上的应用程序的策略;
  • DialogButtonBox.AndroidLayout:使用适用于 Android 上的应用程序的策略;

3、delegate : Component 用于创建标准按钮的委托

4、position : enumeration 按钮框的位置
如果按钮框被指定为 ApplicationWindow 或 Page 的页眉或页脚,则会自动设置相应的位置

  • DialogButtonBox.Header:按钮框位于顶部;
  • DialogButtonBox.Footer:按钮框位于底部。默认值;

5、standardButtons : enumeration
按钮框使用的标准按钮的组合。这些按钮将按照用户平台的适当顺序放置。

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
 
    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}
  • DialogBu​​ttonBox.Ok :使用 AcceptRole 定义的“确定”按钮;
  • DialogBu​​ttonBox.Open:使用 AcceptRole 定义的“打开”按钮;
  • DialogBu​​ttonBox.Save:使用 AcceptRole 定义的“保存”按钮;
  • DialogBu​​ttonBox.SaveAll:使用 AcceptRole 定义的“全部保存”按钮;
  • DialogBu​​ttonBox.Retry:使用 AcceptRole 定义的“重试”按钮;
  • DialogBu​​ttonBox.Ignore:使用 AcceptRole 定义的“忽略”按钮;
  • DialogBu​​ttonBox.Cancel:使用 RejectRole 定义的“取消”按钮;
  • DialogBu​​ttonBox.Close:使用 RejectRole 定义的“关闭”按钮;
  • DialogBu​​ttonBox.Abort:使用 RejectRole 定义的“中止”按钮;
  • DialogBu​​ttonBox.Discard:“放弃”或“不保存”按钮,取决于平台,使用 DestructiveRole 定义;
  • DialogBu​​ttonBox.Apply:使用 ApplyRole 定义的“应用”按钮;
  • DialogBu​​ttonBox.Reset:使用 ResetRole 定义的“重置”按钮;
  • DialogBu​​ttonBox.RestoreDefaults:使用 ResetRole 定义的“恢复默认值”按钮;
  • DialogBu​​ttonBox.Help:使用 HelpRole 定义的“帮助”按钮;
  • DialogBu​​ttonBox.Yes:使用 YesRole 定义的“是”按钮;
  • DialogBu​​ttonBox.YesToAll:使用 YesRole 定义的“全部同意”按钮;
  • DialogBu​​ttonBox.No:使用 NoRole 定义的“否”按钮;
  • DialogBu​​ttonBox.NoToAll:使用 NoRole 定义的“拒绝所有”按钮;
  • DialogBu​​ttonBox.NoButton:无效按钮;

四、附加属性成员

1、[read-only] buttonBox : DialogButtonBox
管理此按钮的按钮框,如果该按钮不在按钮框中,则为 null

2、buttonRole : enumeration
持有按钮框中每个按钮的角色

DialogButtonBox {
    Button {
        text: qsTr("Save")
        DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
    }
    Button {
        text: qsTr("Close")
        DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
    }
}
  • DialogButtonBox.InvalidRole:按钮无效;
  • DialogButtonBox.AcceptRole:接受;
  • DialogButtonBox.RejectRole:取消;
  • DialogButtonBox.DestructiveRole:取消更改;
  • DialogButtonBox.ActionRole:单击按钮会导致对话框中的元素发生变化;
  • DialogButtonBox.HelpRole:请求帮助;
  • DialogButtonBox.YesRole:“是”按钮;
  • DialogButtonBox.NoRole:“否”的按钮;
  • DialogButtonBox.ResetRole:该按钮将对话框的字段重置为默认值;
  • DialogButtonBox.ApplyRole:应用当前更改;

五、成员函数

成员函数说明
AbstractButton standardButton(button)返回指定的标准按钮,如果不存在则返回 null

六、信号

成员函数说明
AbstractButton standardButton(AbstractButton button)当单击按钮框内的按钮时发出此信号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/10364.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

攻防世界-web-easyupload

题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门 很简单的一个上传图片的界面。 我们先正常上传一个图片,从提示信息中可以看出我们是上传到了uploads目录下 然后通过bupsuite抓包修改请求,将文件名修改为1.php&a…

Java垃圾回收机制GC完全指南,让你彻底理解JVM运行原理

1、GC过程 1)先判断对象是否存活(是否是垃圾) 可以通过引用计数算法和可达性分析算法来判断,由于引用计数算法无法解决循环引用的问题,所以目前使用的都是可达性分析算法 2)再遍历并回收对象(回收垃圾) 可以通过垃圾收集器&…

三、Locust任务(task)详解

当一个负载测试开始时,将为每个模拟用户创建一个用户类的实例,他们将在自己的绿色线程中开始运行。当这些用户运行时,他们会选择执行的任务,睡眠一段时间,然后选择一个新的任务,如此循环。 这些任务是正常…

什么是自动化测试?自动化测试现状怎么样?

什么是自动化测试:其实自动化测试,就是让我们写一段程序去测试另一段程序是否正常的过程,自动化测试可以更加省力的替代一部分的手动操作。 现在自动化测试的现状,也是所有学习者关心的,但现在国内公司主要是以功能测…

Flash Linux to eMMC

实验目的:从eMMC启动Linux系统 Step1:确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区,就是eMMC。实验中是位于mmcblk1上。 rootam64xx-evm:~# ls -l /dev/mmcblk* brw-rw---- 1 root disk 179, 0 Feb 27 13:25 /dev/mmcblk0 brw-rw---- …

10 kafka生产者发送消息的原理

1.发送原理: 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

【机器学习】P10 从头到尾实现一个线性回归案例

这里写自定义目录标题(1)导入数据(2)画出城市人口与利润图(3)计算损失值(4)计算梯度下降(5)开始训练(6)画出训练好的模型(…

离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)

集合与函数2.1 集合 2.1.1 集合的基本概念 2.1.2 集合的表示方法 2.1.3 文氏图 2.1.4 证明集合相等 2.1.5 集合的大小 ——基 2.1.6 幂集 2.1.7 集族、指标集 2.1.8 笛卡尔积 2.1.9 容斥原理2.1 集合 2.1.1 集合的基本概念 定义1:集合 是不同对象的一个无序的聚…

【SpringCloud系列】开发环境下重写Loadbalancer实现自定义负载均衡

前言 spring-cloud-starter-netflix-ribbon已经不再更新了,最新版本是2.2.10.RELEASE,最后更新时间是2021年11月18日,详细信息可以看maven官方仓库:https://search.maven.org/artifact/org.springframework.cloud/spring-cloud-st…

Windows环境下实现设计模式——职责链模式(JAVA版)

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现职责链模式(设计模式)。 不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式&#xff…

Maven的进阶操作

系列文章目录 Maven进阶操作的学习 文章目录系列文章目录前言一、分模块开发与设计二、依赖管理1.依赖传递2.可选依赖3.排除依赖三、继承与聚合1.聚合2.继承四、属性1.属性2.版本管理五、多环境配置与应用1.多环境开发2.跳过测试六、私服1.私服简介2.私服仓库分类3.资源上传与…

比GPT-4 Office还炸裂,阿里版GPT全家桶来袭

目录 【新智元导读】 文案、策划、邮件,一键搞定 不用写代码,草稿秒变小程序 聊天记录不用翻,摘要自动生成 会上开小差?不怕,AI替你记了 AI版十万个为什么,有问必答 剁手买买买,连手都不…

Excel技能之数据验证,总有一款适合你

用户填写的内容,是未知的,不可靠的。但是,我们要对数据的规范、格式、条件做出限制,既能保证数据的质量,也能统一每个人的行为。最大限度去避免垃圾数据的录入,眼不见心不烦,让心情美美的。 数…

Python之数据库操作(连接数据库,增删改查操作,易错点理解)

文章目录 前言一、Python之数据库操作二、pymysql 安装三、pymysql 包引入 连接数据库创建游标执行sql数据 - 增删改查要获取查询结果数据关闭游标,关闭数据库连接总结前言 记录:Python操作数据库的步骤,不容易理解的地方。 一、Python之数据…

C++模板基础(九)

完美转发与 lambda 表达式模板 void f(int& input) {std::cout << "void f(int& input)\t" << input << \n; }void f(int&& input) {std::cout << "void f(int&& input)\t" << input << \n;…

uniapp - 全平台兼容的 “多图上传“ 功能,搭配 uview 组件库中的 upload 上传组件(附带详细的示例源码及注释,可直接复制使用或简单修改)

效果图 使用 uniapp 开发,多平台全端兼容的多图上传功能,支持限制个数及移除等。 组件库使用的是 uview 框架,上传组件基于 Upload组件,功能完美无bug。 准备阶段 Upload组件支持手动上传与

Docker安装Elasticsearch详细步骤

1 安装elasticsearch 1.1 拉取镜像 docker pull elasticsearch:7.12.11.2 创建挂载目录 mkdir -p /app/elasticsearch/confecho "http.host: 0.0.0.0" >> /app/elasticsearch/conf/elasticsearch.ymlmkdir -p /app/elasticsearch/datamkdir -p /app/elastic…

GaussDB工作级开发者认证—第三章开发设计建议

一. 数据库对象命名和设计建议 二. 表设计最佳实践 三. SQL查询最佳实践 SQL 最佳实践 - SELECT 避免对大字段执行order by&#xff0c;group by等引起排序的操作避免频繁使用count()获取大表行数慎用通配符字段 “*”避免在select目标列中使用子查询统计表中所有记录数时&…

Leetcode刷题之环形链表

莫等闲&#xff0c;白了少年头&#xff0c;空悲切。 --岳飞 目录 1.环形链表 2.环形链表Ⅱ 1.环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next …

想制作出专业水准的音视频?掌握H.264编码技巧是关键

H.264编码原理 H.264&#xff0c;也被称为先进视频编码&#xff08;AVC&#xff09;&#xff0c;是目前最流行的视频编码标准之一&#xff0c;其压缩效率很高。H.264编码基于视频编码的原始数据&#xff0c;使用一系列算法和技术以更小的比特率呈现更高质量的视频。以下是H.26…