QDialog open用法

来源:互联网 发布:苏州软件培训机构 编辑:程序博客网 时间:2024/05/16 04:55

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

 

原创粉丝点击