QML控件--Dialog

news2024/10/6 6:50:40

文章目录

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

一、控件基本信息

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


二、控件使用

Dialog: 是一个弹出窗口,继承自 Popup,主要用于短期任务和与用户的简短交流。
与 ApplicationWindow 和 Page 类似,Dialog 被组织成三个部分:header、contentItem 和 footer:
在这里插入图片描述
在这里插入图片描述

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

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

    Dialog {
        id: dialog
        x:(parent.width-width)/2
        y:(parent.height-height)/2
        implicitWidth: 500;
        implicitHeight: 300;
        title: "Title"
        modal: true;
        standardButtons: Dialog.Ok | Dialog.Cancel

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

    Button{
        text: "open";
        onClicked: {
            dialog.open();
        }
    }

}


三、属性成员

1、footer : Item

对话框页脚项。页脚项目位于底部,并调整为对话框的宽度。 默认值为空。

  • DialogButtonBox 指定为对话框页脚会自动将其 accepted()rejected() 信号连接到 Dialog 中的相应信号;
  • DialogButtonBoxToolBarTabBar 指定为对话框页脚会自动将相应的 DialogButtonBox::positionToolBar::positionTabBar::position 属性设置为 Footer

2、header : Item

对话框标题项。标题项位于顶部,并调整为对话框的宽度。默认值为空。

  • DialogButtonBox 指定为对话框标题会自动将其 accepted()rejected() 信号连接到 Dialog 中的相应信号;
  • DialogButtonBoxToolBarTabBar 指定为对话框标题会自动将相应的 DialogButtonBox::positionToolBar::positionTabBar::position 属性设置为 Header

3、[read-only] implicitFooterHeight : real

隐式页脚高度。等于 footer && footer.visible ? footer.implicitHeight : 0

4、[read-only] implicitFooterWidth : real

隐式页脚宽度。等于 footer && footer.visible ? footer.implicitWidth : 0

5、[read-only] implicitHeaderHeight : real

隐式标题宽度。等于 header && header.visible ? header.implicitHeight : 0

6、[read-only] implicitHeaderWidth : real

隐式标题宽度。等于 header && header.visible ? header.implicitWidth : 0

7、result : int

保存结果代码。标准结果代码:

  • Dialog.Accepted:对话框被接受;
  • Dialog.Rejected:对话框被拒绝

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

Dialog {
    id: dialog
    title: "Title"
    standardButtons: Dialog.Ok | Dialog.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:无效按钮;

9、title : string

对话框标题


四、成员函数

1、void accept()

发出 accepted() 信号并关闭对话框

2、void done(result)

分三步操作:

  • 设置结果;
  • 分别根据结果是 Dialog.Accepted 还是 Dialog.Rejected 发出 accepted() 或 rejected();
  • 发出 closed()(Popup::closed());

3、void reject()

发出 rejected() 信号并关闭对话框

4、AbstractButton standardButton(button)

返回指定的标准按钮,如果不存在则返回 null


五、信号

1、accepted()

当以交互方式或通过调用 accept() 接受对话框时,会发出此信号;
注意:当使用 close() 关闭对话框或将 visible 设置为 false 时,不会发出此信号;

2、applied()

单击 Dialog.Apply 标准按钮时会发出此信号

3、discarded()

单击 Dialog.Discard 标准按钮时会发出此信号

4、helpRequested()

单击 Dialog.Help 标准按钮时会发出此信号

5、rejected()

当对话以交互方式或通过调用 reject() 被拒绝时,会发出此信号
注意:当使用 close() 关闭对话框或将 visible 设置为 false 时,不会发出此信号

6、reset()

单击 Dialog.Reset 标准按钮时会发出此信号

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目打包发布流程

---》》》项目打包发布 1.编译并构建项目 2.部署 npm i npm run build scp2:需要写代码 ---》》》 后续有空更新:赋几个链接: Jenkins官网 nullhttps://www.jenkins.io/zh/一文详解Jenkins的安装与配置Jenkins是一个基于Java开发的开源…

【SpringMVC】10—其他概念

⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍…

2023年Web3的五大趋势

Web3 这个词有时被称为 "去中心化的互联网",涵盖了一些重要的互联网发展趋势。Web3 的愿景是创造一个不受大公司控制的互联网,如Alibaba、baidu、Google和Facebook,这些公司制定了互联网的大部分规则,掌控着我们今天可以…

HyperWorks2021软件安装教程

下载软件 https://www.xsoftnet.com/share/a0004MWyQAg9r.html产品介绍: HyperWorks一款功能强大的开放式架构仿真软件。拥有先进的技术以及高性能、高效和创新的产品,为用户提供了设计、仿真和制造等服务。支持电磁分析设计、材料建模制造、多物理场分…

学校的地下网站(学校的地下网站1080P高清)

这个问题本身就提得有问题,为什么这么说,这是因为YouTube本身就不是一个视频网站或者说YouTube不是一个传统的视频网站!!! YouTube能够一家独大,可不仅仅是因为有了Google 这个亲爹,还有一点&am…

Flutter Web 开发实践与优化

一,Flutter Web架构 目前,除了可以支持Android、iOS移动跨平台开发之外,Flutter还支持macOS、Windows、Linux和Web等多个跨平台的开发。可以说,作为一款先进的跨平台开发框架,Flutter已经真正意义上实现了“一次编写,处处运行”的美好愿景。 众所周知,Dart 语言存在之…

【建议收藏】数据库 SQL 入门——事务(内附演示)

文章目录📚引言📖事务📑事务的概念📑事务操作🔖查看与设置事务提交方式🔖提交事务与回滚事务📑事务的特性📑并发事务问题📑事务隔离级别📍总结📚引…

8.基于拉丁超立方法的风光场景生成与削减

matlab代码:基于拉丁超立方法的风光场景生成与削减 摘要:与蒙特卡洛法不同,拉丁超立方采样改进了采样策略能够做到较小采样规模中获得较高的采样精度,属于分层抽样技术,设定风光出力遵从正态分布normrnd,从…

字节面试体验值拉满~

今天分享一位读者春招的字节二面面经,岗位是后端开发。 一个编程语言都没问,都是问网络项目mysqlredis。 问题记录 使用消息中间件降低消息持久化的压力是怎么做的,为什么可以降低? 读者答:在突发大量消息的情况下…

水塘抽样解决随机选择问题

1.简介 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到内存的情况。最常见例子为Jeffrey Vitter在其论文中所提及的算法R。 2.算法步骤&#xff1…

AD823AARZ-RL-ASEMI代理亚德诺AD823AARZ-RL车规级芯片

编辑-Z AD823AARZ-RL芯片参数: 型号:AD823AARZ-RL −3dB带宽:17 MHz 全功率响应:4.8 MHz 斜率:30 V/s 输入电压噪声:14 nV/√Hz 输入电流噪声:1 fA/√Hz 初始偏移量:0.12mV …

nacos集群配置高可用数据库

1.架构 nacos集群配置高可用数据库的架构其实和nacos集群的架构差不多,只是在数据库方面做了主从跟keepalive实现数据库的高可用,当mysql的master节点挂掉时,keepalive的vip自动漂移到slave节点,并通过脚本使slave节点提升为mast…

Leetcode.1992 找到所有的农场组

题目链接 Leetcode.1992 找到所有的农场组 Rating : 1539 题目描述 给你一个下标从 0 开始,大小为 m x n 的二进制矩阵 land ,其中 0 表示一单位的森林土地,1 表示一单位的农场土地。 为了让农场保持有序,农场土地之…

QT程序退出还占进程

问题情况 程序运行时的样子: 程序退出时的样子: 其跑到了后台进程里面: 程序退出了,但在任务管理器里查看,其从进程里面转移到后台进程了。 这种问题,怎么办,代码里,应该释放的也都…

微信小程序引入广告位功能,详细步骤!!!

大家碰到过首页加载时一开始出现的广告页面,这种微信官方提供了一个api进行设置,下面我们来详细解释一下。 首先第一步需要小程序累计用户数达到1000即可开通流量主,成功开通流量主之后就可以创建相应的广告位了,包括banner广告、…

【设计模式】如何在业务开发中使用适配器模式?

文章目录前言适配器模式定义通用代码实现适用场景案例场景分析一坨坨代码实现适配器模式重构总结前言 适配器模式(Adapter Pattern):将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个…

Can‘‘t connect to MySQL server on localhost (10061)解决方法

首先检查MySQL 服务没有启动》如果没有启动,则要启动这个服务。 有时候安装mysql后使用mysql命令时报错 Cant connect to MySQL server on localhost (10061),或者用net start mysql 时报服务名无效,一般是因为mysql服务没有启动。 打开 powe…

itop-3568开发板驱动学习笔记(18)tasklet 机制

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录tasklet 简介tasklet 结构体tasklet 初始化使能 tasklet失能 tasklettasklet 调度函数tasklet 取消调度函数tasklet 实验tasklet 简介 Tasklets 机制是linux中断处理机制中的软中断延迟机制。在linux中存在着…

【ES】搜索结果处理RestClient查询文档

【ES】搜索结果处理&RestClient查询文档2.搜索结果处理2.1.排序2.1.1.普通字段排序2.1.2.地理坐标排序2.2.分页2.2.1.基本的分页2.2.2.深度分页问题2.2.3.小结2.3.高亮2.3.1.高亮原理2.3.2.实现高亮2.4.总结3.RestClient查询文档3.1.快速入门3.1.1.发起查询请求3.1.2.解析响…

【计算机图形学】图形变换(平移变换、比例变换、旋转变换、对称变换、错切变换、复合变换)

一 实验目的 编写图形各种变换的算法二 实验内容 1:自行设计基本图案,完成1-5种简单变换 实验结果如下图所示: 图形初始化: 第一次点击左键,实现平移变换: 第二次点击左键,实现比例变换&…