QDialog open用法

本文介绍了Qt中对话框的三种打开方式:show(), exec() 和 open()。重点解释了open()函数的效果,它类似模态对话框,但仅阻塞当前窗口而非整个系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt 中,对话框的打开具有三种方式:

  • QDialog::show(): 非模态
  • QDialog::exec(): 模态
  • QDialog::open(): 窗口模态

前两种我们很容易理解,下面来看看什么是窗口模态。比如,我们有两个窗口(以下图示来自 Qt Developer Day, 2009):

使用如下代码,我们用 open() 函数打开一个对话框:

 
  1. if(!messageBox) {
  2. messageBox = new QMessageBox("SDI",
  3. "The document has been modified. \n"
  4. "Do you want to save your changes?",
  5. QMessageBox::Warning,
  6. QMessageBox::Yes | QMessageBox::Default,
  7. QMessageBox::No,
  8. QMessageBox::Cancel | QMessageBox::Escape,
  9. this);
  10. connect(messageBox, SIGNAL(finished(int)), SLOT(handleDialogClose(int)));
  11. }
  12. messageBox->open();

看看运行的结果:

这就是 open() 函数的效果:它类似模态对话框,但是只会阻塞一个窗口,而不是将整个系统阻塞掉。

 

转自:http://devbean.blog.51cto.com/448512/491509

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值