Qt应用开发(基础篇)——对话框窗口 QDialog

一、前言

        QDialog类继承于QWidget,是Qt基于对话框窗口(消息窗口QMessageBox、颜色选择窗口QColorDialog、文件选择窗口QFileDialog等)的基类。

         QDialog窗口是顶级的窗口,一般情况下,用来当做用户短期任务(确认、输入、选择)或者和用户交流(提示、错误、警告、进度等)的弹窗,弹窗可以是模态modal或者非模态的,使用exec()进入模态对话框,使用show()进入非模式对话框,模式对话框可以保证子窗口一直在父窗口的顶部并默认居中显示。

        模态窗口:模态对话框是一种阻止同一应用程序中其他可见窗口输入的对话框。通常,用于向用户请求文件名或设置应用程序首选项的对话框是模态的。打开应用程序模态对话框时,用户必须在访问应用程序中的任何其他窗口之前完成与对话框的交互并关闭它。窗口模态对话框仅阻止对话框关联的窗口的访问,允许用户继续使用应用程序中的其他窗口。

QDialog *dia = new QDialog(this);
dia->resize(500,400);
dia->setWindowTitle("my dialog");
dia->setSizeGripEnabled(true);
dia->exec();

 

二、QDialog类

1、modal

        该属性表示窗口是否为模式窗口,默认为非模式对话框fase。

bool isModal() const
void setModal(bool modal)

2、sizeGripEnabled

        该属性表示窗口是否在右在下角显示一个控制大小的部件QSizeGrip,参考上例。     

bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)

3、公共函数

 1)result

        返回模式对话框返回的结果,QDialog::Accepted或者QDialog::Rejected。

int result() const

        子类QMessageBox在此方法中返回的是按钮的值。 

 

2)setResult

        设置模式对话框的结果,QDialog::Accepted或者QDialog::Rejected。

void setResult(int i)

3)accept

        关闭窗口,result返回值为QDialog::Accepted。

virtual void accept()

4)reject

        关闭窗口,result返回值为QDialog::Rejected。

virtual void reject()

5)exec

        模式对话框打开窗口,并代码阻塞,知道用户关闭窗口,返回一个状态值。

virtual int exec()

6)open

        模式对话框打开窗口,并且立即返回,不会阻塞,和setModal为true,然后调用show,效果一样。

virtual void open()

7)done

        关闭对话框并将其结果代码设置为r。

        finished()信号将发出r。

        如果r是QDialog::Accepted或QDialog::Rejected,则也将分别发出Accepted()Rejected()信号。

        如果使用exec()显示此对话框,done()也会导致本地事件循环结束,并且exec()返回r。

        如果设置了Qt::WA_DeleteOnClose标志,done()将删除对话框。

virtual void done(int r)

4、信号

void accepted()
void finished(int result)
void rejected()

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用SSL证书的SNI特性建立自己的爬虫ip服务器

今天我要和大家分享一个关于自建多域名HTTPS爬虫ip服务器的知识,让你的爬虫ip服务器更加强大!无论是用于数据抓取、反爬虫还是网络调试,自建一个支持多个域名的HTTPS爬虫ip服务器都是非常有价值的。本文将详细介绍如何利用SSL证书的SNI&#…

Spring Cloud Alibaba-Sentinel规则

1 流控规则 流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发线程数等指标,当达到指定的阈值时 对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 第1步: 点击簇点链路,我们就可以看到访…

【Python编程】将同一种图片分类到同一文件夹中

一、数据结构如下: 二、编程工具:Jupyter-Notebook 三、代码: import os import cv2 import shutilpath0os.getcwd()\\apple\\RGB path1os.getcwd()\\apple\\tof_confidence path2os.getcwd()\\apple\\tof_depth path3os.getcwd()\\apple\\…

公网远程访问局域网SQL Server数据库

文章目录 1.前言2.本地安装和设置SQL Server2.1 SQL Server下载2.2 SQL Server本地连接测试2.3 Cpolar内网穿透的下载和安装2.3 Cpolar内网穿透的注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 数据库的重要性相信大家都有所了解&…

爬虫逆向实战(二十五)--某矿采购公告

一、数据接口分析 主页地址:某矿 1、抓包 通过抓包可以发现数据接口是cgxj/by-lx-page 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个param的加密参数 请求头是否加密? 无响应是否加密? 无c…

创作2周年纪念日-特别篇

创作2周年纪念日-特别篇 1. 与CSDN的机缘2. 收获3. 憧憬 1. 与CSDN的机缘 很荣幸,在大学时候,能够接触到CSDN这样一个平台,当时对嵌入式开发、编程、计算机视觉等内容比较感兴趣。后面一个很偶然的联培实习机会,让我接触到了Pych…

限流算法深入

限流定义及目的 当系统流量达到系统或下游承受能力的阈值时对系统进行限流控制以防止系统或下游挂掉,减少影响面。 限流组成:阈值及限流策略。阈值是指系统单位时间接收到的请求qps总数;限流策略是指限流行业触发后对应的系统行为&#xff…

01-jupyter notebook的使用方法

一、Tab补全 在shell中输入表达式,按下Tab,会搜索已输入变量(对象、函数等等)的命名空间: 除了补全命名、对象和模块属性,Tab还可以补全其它的。当输入看似文件路径时 (即使是Python字符串&…

Dubbo 开发入门

一、通过模板生成项目脚手架 Dubbo Initializer 可用来快速生成 Java 项目脚手架,帮助简化微服务项目搭建、基本配置、组件依赖管理等。 Initializer 仍在持续更新中,更多 Dubbo Feature 的支持将会陆续发布。 选择 Dubbo 版本 Initializer 将使用 dub…

exchange实战

未得到exchange服务器权限 确定exchange服务器ip地址 setspn -T example.domain.com -F -Q */* | findstr exchangeMailSniper 爆破用户名和密码 爆破Exchange邮箱用户名密码,为了防止账号被锁定,所以我们使用密码喷洒攻击,即只使用一个密…

5G 数字乡村数字农业农村大数据中心项目农业大数据建设方案PPT

导读:原文《5G 数字乡村数字农业农村大数据中心项目农业大数据建设方案PPT》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。以下是部分内容, 喜…

【java基础——interface接口】

JAVA基础 interface接口 文章目录 JAVA基础接口 Interface 接口 Interface 接口是一种特殊的抽象类,它定义了一组抽象方法和常量,并且不包含具体实现。 只允许声明静态常量:必须且默认为 public static final 。声明抽象方法:必…