(八)对话框

MFC学习笔记之八————颜色对话框与字体对话框 当程序中需要用到画图的时候,就要选择画笔的颜色,在MFC中提供了一个CColorDialog的类,通过此类可以很方便的创建这样一个颜色对话框。其构造函数如下: CColorDialog( COLORREF clrInit = 0, DWORD dwFlags = 0, CWnd 阅读详情

对话框:与用户进行短暂交互的顶层窗口(应该只为对话框设计单一功能)

QDialog 是Qt中所有对话框窗口类的基类:

QDialog继承于QWidget,也是一种容器容器类型组件

QDialog类及其子类不能作为子部件嵌入其他容器中

QDialog是定制了窗口样式的特殊的QWidget

 

对话框分类:

模态对话框( 调用成员函数exec()显示的对话框)

显示后用户无法与其他窗口进行交互

模态对话框是一种阻塞式的对话框调用方式

非模态对话框( 调用成员函数show()显示的对话框)

显示后用户可以与其他窗口进行交互

非模态对话框是一种非阻塞式的对话框调用方式

 

应用:

模态对话框应用于用户必须作出选择的场合(如消息提示、文件选择等)

非模态对框应用于特殊功能设置的场合(如查找、属性设置等)

 

用法:

由于模态/非模态对话框的特性:

(1)、模态对话框:可以在栈上创建模态对话框

(2)、非模态对话框:

         1)在堆上创建非模态对话框而指向对话框的指针在栈上时,需要调用成员函数setAttribute设置对话框的Qt::WA_DeleteOnClose属性(此种方法创建对话框几乎没办法二次使用,设置属性使对话框在被close时销毁)

         2)非模态对话框作为成员变量或也在堆上创建但指向对话框的指针是成员(如需多次使用则不用设置上述属性,且被close时默认不是销毁而是隐藏直到下一次show() )

         3)通过成员函数setModal()可以设置非模态对话狂为混合属性对话框(对话框显示时不允许用户与其他窗口交互同时不阻塞的程序的执行流)

 

返回值:

只有模态对话框才有返回值,返回值用于表示与用户的交互结果

成员函数exec()的返回值为交互结果

(1)、调用void QDialog::done( int r )时返回值为done()的参数

(2)、返回值为QDialog::Rejected  用户拒绝

(3)、返回值为QDialog::Accepted用户接受

 

 

 

 声明:

此文根据 狄泰学院唐老师的《QT实验分析教程》创作

MFC学习笔记(八):对话框 CWnd类对话框有两种类型:模式和无模式。 阅读详情

相关推荐

SDL2 游戏开发日记(八) 按钮、对话框的绘制

SDL2 游戏开发日记(八) 按钮、对话框的绘制 在游戏中,会弹出各种各样的对话框,用来显示游戏中的一些信息,或者要求玩家进行相应的输入。 对话框的基类 创建一个纹理,把对话框的背景,按钮都绘制在这个纹理上。如果按钮状态没有发生改变,直接在主循环里绘制这个纹理。如果按钮状态改变,重新绘制纹理后再绘制到主循环里。 #pragma once #include "Renderable.h" #inclu...

5713

八、MFC对话框

对话框分类:模式对话框(假,由无模式对话框实现);无模式对话框:子对话框未关闭,父对话框可以拖拽和关闭。(6)在命令IDOK与IDCANCEL销毁对话框,可以实现关闭对话框。模式对话框:子对话框未关闭,父对话框无法拖拽和关闭。(1)创建(Win32)项目(MFCModelDlg)(2)添加资源文件(.rc文件),添加菜单项。(1)创建(Win32)项目(MFCDlg)(1)创建Win32项目(WinDlg)(2)创建资源文件(.rc),创建对话框。三、模式对话框(由无模式对话框实现)将父窗口设置为不可用。.

liutit的博客 838

STC8G1K08A 实战应用:从配置到功能实现

本文详细介绍了STC8G1K08A单片机的实战应用,从开发环境搭建、GPIO配置、ADC模块使用到定时器中断处理和PWM输出等核心功能。重点讲解了外设模块的协同工作配置技巧,并分享了实际项目开发中的经验教训,帮助开发者快速掌握STC8G1K08A的高效应用。

n4o5p6q7r的博客 391

八、Android UI对话框

8.1对话框 ① AletDialog:提示对话框:功能最为丰富,实际应用最为广泛的对话框。 ② ProgressDialog:进度对话框,是对简单进度条的封装。 ③DataPickerDialog:日期选择对话框。 ④TimePickerDialog:时间选择对话框。 ⑤ 自定义对话框:对话框布局自定义,并设置监听事件 8.1.1 AlertDialog(警示对话框 ) AlertDialog生成的对话框分为4个区域:图标区、标题区、内容区和按钮区。 创建对话框的步骤: 使用AlertDialog.Bui

weixin_45802395的博客 157

Databricks Genie:语义编译器架构与企业级智能解析实践

语义层是现代数据平台实现自然语言查询的核心基础,其本质是将业务术语映射为可执行、可治理的数据契约。原理上依赖结构化元数据、值字典与数据血缘三支柱协同,通过分层AI代理(如Intent Parsing、Retriever、Verifier)实现意图识别→语义对齐→安全执行的闭环。技术价值在于降低SQL使用门槛的同时保障审计性、一致性和权限可控性,适用于销售运营、财务分析等一线业务场景。本文深入解析Databricks Genie作为典型语义编译器的落地逻辑,涵盖Unity Catalog知识注入、七层Agen

weixin_29053695的博客 337

RFSOC实战解析(一):深入RF Data Converter的时钟与数据接口设计

本文深入解析RFSOC中RF Data Converter的时钟与数据接口设计,涵盖GHz采样、数据流处理、时钟树同步及AXI-Stream接口实战。通过详细案例和调试技巧,帮助工程师高效配置IP核,优化ADC/DAC性能,解决跨时钟域和信号完整性等关键问题。

weixin_30955617的博客 473

PyQt5入门(八)对话框

这是千千万万万万千千个日夜,是我对你说不尽的思念。——歌名:千千万万 歌手:深海鱼子酱

长夜漫漫,无心睡眠 4180

【UE5】三步搞定Pixel Streaming:从零搭建Windows像素流服务

本文详细介绍了如何在Windows平台上快速搭建UE5 Pixel Streaming像素流服务,从插件安装、项目打包到服务启动的全流程操作。通过实战案例和优化配置,帮助开发者实现零客户端配置、跨设备兼容的高性能3D应用流式传输,特别适合建筑可视化和实时协作场景。

weixin_29000991的博客 318

Delphi整理八(对话框)

对话框对话框函数:ShowMessage、ShowMessageFmt、MessageDlg、InputBox、InputQuery对话框组件在Dialog组件面板中:**OpenDialog、SaveDialog、OpenPictrueDialog、 SavePictrueDialog、FontDialog、ColorDialog、PrintDialog、PrintSetDialog、 Fin

qq_37137431的博客 1477

如何把ORCAD 中的修改同步到PADS 中

Generate ECO file(*.eco),eco 文件的默然保存地址是在pads 的。ECO Files (*.eco),接着在文件中找到所生成的eco 文件,找到。再下来是产生eco 文件,先打开old_design.pcb,然后选择。PCB Design 前面的选项选中,意思把当前文件做为原始的比对。安装目录下(可修改eco 文件的保存目录),这里把eco 文件保存。接下来用新生成asc 文件的文件产生新的PCB 文件,新生成。不对新生成的pcb 做任何的修改,直接保存文件,这里把新文件。

智光工作室 993

电脑版微信多开,最详细教程没有之一

首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ...

大超子 4390

Windows SDK(八)模态对话框与非模态对话框

对话框分为模态对话框和非模态对话框两种形式模态对话框:自建消息循环,并且通过EnableWindow禁用了父窗口的键盘鼠标输入达到阻塞父窗口的功能。当有对话框,父窗口阻塞时,透过对话框是无法对父窗口进行操作的,这也就是父窗口堵塞的结果非模态对话框:与父窗口共用消息循环,没有父窗口堵塞,其余和模态对话框一致在应用前,我们手动在Windows桌面程序创建的窗口的顶层菜单上做出如下修改并将模态对话框ID修改为ID_DLG1,非模态对话框ID修改为ID_DLG2。

2301_78838647的博客 523

C#与倍福TwinCAT3通信实战:ADS协议封装与设备变量读写完整源码

倍福(Beckhoff)TwinCAT3 作为工业自动化领域主流的软PLC系统,其内置的ADS(Automation Device Specification)协议是实现上位机与TwinCAT3通信的核心标准。传统ADS通信开发存在门槛高(协议细节复杂)、稳定性差(缺乏统一异常处理)、复用性低(重复编码)等问题。本文基于 C# 技术栈,聚焦“协议封装标准化、变量读写易用化、通信稳定工业化”核心需求,提供一套完整的 ADS 协议封装方案与设备变量读写源码。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1987

Qt深入浅出(八)模态对话框

模式对话框​ 对话框可以分为模式对话框和非模式对话框两种。模式对话框是指用户只能在当前的窗体中进行操作,在该窗体没有关闭之前不能切换到其它的窗体。非模式对话框是指当前的所操作的窗体可以切换。​ 简单来说,屏蔽同一应用程序中其它窗口事件响应的对话框,就叫做模式对话框。​ 一般情况下,用于确认信息的操作对话框属于模式对话框。如打开文件对话框就是典型的模式对话框,而常见的查找和替换便是非模式对话框。​ ...

qq769651718的专栏 1752

基础入门篇 | YOLOv8 项目【训练】【验证】【推理】最简单教程 | YOLOv8必看 | 最新更新,直接打印 FPS,mAP50,75,95

三个文件搞定YOLOv8【训练】【验证】【推理】🚀🚀🚀

Coding... 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

AutoCADDCL对话框设计示例八

AutoCADDCL对话框设计示例八,代码如下。 dcl:dialog {     label = "第八个DCL设计" ;     :row {         :boxed_column {             label = "开关按钮" ;             :toggle {                 la...

weixin_33923762的博客 290

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Qt5教程(八) :标准对话框和文件对话框

Qt5教程(八) :标准对话框和文件对话框

m0_60259116的博客 655

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【Qt】Qt窗口(八)QFontDialog字体对话框,QInputDialog输入对话框的使用,小结

一、QFontDialog 基于QFontDialog让用户选择字体属性,实现修改按钮显示文本的字体属性 二、QInputDialog 基于QInputDialog实现让用户输入整数,浮点数,字符串 三、Qt窗口小结

重铸自身根基的博客 747

(八)窗口及对话框

(1)窗口基本应用ExtJS 中窗口是由Ext.Window 类定义,该类继承自Panel,因此窗口其实是一种特殊的面板Panel。窗口包含了浮动、可拖动、可关闭、最大化、最小化等特性。看下面的代码:var i=0;function newWin(){ var win=new Ext.Window({title:"窗口"+i++,  width:400,  height:300,  maximiz...

finally_m 159

Vue实战篇八:实现弹出对话框进行交互

系列文章目录 Vue基础篇一:编写第一个Vue程序 Vue基础篇二:Vue组件的核心概念 Vue基础篇三:Vue的计算属性与侦听器 Vue基础篇四:Vue的生命周期(秒杀案例实战) Vue基础篇五:Vue的指令 Vue基础篇六:Vue使用JSX进行动态渲染 Vue提高篇一:使用Vuex进行状态管理 Vue提高篇二:使用vue-router实现静态路由 Vue提高篇三:使用vue-router实现动态路由 Vue提高篇四:使用Element UI组件库 Vue提高篇五:使用Jest进行单元测试 Vue提高篇六

我的博客 5649

八、Qt对话框设计

mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include #include "ui_mydialog.h" class QCheckBox; class QLabel; class QLineEdit; class QPushButton; class MyDialog : public QDialog { Q_OBJECT

chchlh的专栏 917

Qt开发⑧Qt的窗口_下_浮动窗口+对话框

Qt开发⑧Qt的窗口_下_浮动窗口+对话框(1.浮动窗口 - 1.1 浮动窗口的创建 - 1.2 设置停靠的位置 2. 对话框 - 2.1 对话框简介 - 2.2 对话框的分类 - 2.3 自定义对话框 2.4 Qt 内置对话框 - 2.4.1 消息对话框 QMessageBox - 2.4.2 颜色对话框 QColorDialog - 2.4.3 文件对话框 QFileDialog - 2.4.4 字体对话框 QFontDialog - 2.4.5 输入对话框 QInputDialog )

参考书籍:《C语言程序设计》《数据结构》《C++ Primer》《Effective C++》《STL源码剖析》《现代操作系统》《UNIX环境高级编程》《图解TCP/IP》《图解HTTP》《Linux高性能服务器编程》《剑指Offer》《算法导论》 1449

python 对话框的创建及调用_Python GUI教程(八):在主窗口中调用对话框

本篇将会介绍:使用qt设计师创建两个窗口转换设计师UI代码为Python代码从主窗口中调用对话框窗口一、创建两个窗口根据本篇的最终目标——在主窗口中调用对话窗口,我们先使用qt设计师创建两个窗口,其中一个主窗口MainWindows,一个含有两个按钮的对话窗口Dialog。通过qt设计师新建一个MainWindows窗口,并在其中放置一个按钮:保存为UI文件,再新建一个对话窗口:同样保存为UI文件...

weixin_39833270的博客 873

Android学习笔记(八)——显示进度对话框

显示进度对话框 我们常常有这样的经历:执行某一应用程序时,需要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行。 我们继续在上一篇中的程序中添加代码~ 1、在上一篇的activity_main.xml文件中添加一个Button,添加后的代码如下: <LinearLayout xmlns:android="http://schemas.

Zenail的专栏 1531
上一篇: (七)计算器实例
下一篇: (九)标准对话框
早起的虫儿灬
博客等级 码龄10年 54粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值