qt spinbox 设置小数位数_QT开发(二十)——QT对话框

本文详细介绍了QT中的对话框,包括模态与非模态对话框的区别,如何设置对话框的返回值,以及标准对话框如QMessageBox、QFileDialog、QColorDialog和QInputDialog的使用方法和实用函数。通过示例代码,阐述了如何在QT应用中创建和操作这些对话框,以便实现与用户的交互。
摘要由CSDN通过智能技术生成

一、对话框简介

对话框是与用户进行简短交互的顶层窗口

QDialog是QT中所有对话框窗口的基类,QDialog继承于QWidget,是一种容器型的组件,是定制了窗口样式的特殊QWidget。

QDialog作为一种专用的交互窗口,不能作为子部件嵌入其他容器中。

二、对话框类型

对话框类型分为模态对话框和非模态对话框。

1、模态对话框

模态对话框显示后无法与父窗口进行交互,是一种阻塞式的对话框,使用QDialog::exec()函数调用。

模态对话框一般在栈上创建。

QDialog dialog(this);

dialog.exec();

模态对话框适用于必须依赖用户选择的场合,比如消息显示,文件选择,打印设置等。

2、非模态对话框

非模态对话框显示后独立存在,可以同时与父窗口进行交互,是一种非阻塞式对话框,使用QDialog::show()函数调用。

非模态对话框一般在堆上创建,需要指定Qt:WA_DeleteOnClose属性,避免内存泄漏。

非模态对话框适用于特殊功能设置的场合,比如查找操作,属性设置等。

QDialog* dialog = new QDialog(this);

dialog->setAttribute(Qt::WA_DeleteOnClose);

dialog->show();

3、混合属性对话框

混合属性对话框同时具有模态对话框和非模态对话框的属性,对话框的生成和销毁具有非模态对话框属性,功能上具有模态对话框的属性。

使用QDialog::setModal()函数可以创建混合特性的对话框。通常,创建对话框都需要指定对话框的父组件。

QDialog* dialog = new QDialog(this);

dialog->setAttribute(Qt::WA_DeleteOnClose);

dialog->setModal(true);

dialog->show();

三、对话框的返回值

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

QDialog::exec()函数的返回值作为交互结果。

void QDialog::done(int i)函数关闭对话框,并将参数作为交互结果。

QDialog::Accepted表示用户操作成功

QDialog::Rejected表示用户操作失败

四、标准对话框

1、标准对话框的类型

QT为开发者提供了多种可复用的对话框类型,即QT标准对话框。QT标准对话框全部继承于QDialog类。常用标准对话框类型如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值