• 3739阅读
  • 5回复

[提问]关于设置模态对话框(modal dialog)的问题 [复制链接]

上一主题 下一主题
离线liaopifan
 

只看楼主 倒序阅读 楼主  发表于: 2016-01-28



如上图,我想通过两行代码
  1. dialog->show();
  2. dialog->setModal()true;

达到和
  1. dialog->exec();
相同的效果。

但运行结果表明用第一种方法并不能成功地把其设置为模态对话框,虔诚的小白求大神解救~~~
离线liaopifan

只看该作者 1楼 发表于: 2016-01-28
别沉~
离线liaopifan

只看该作者 2楼 发表于: 2016-01-28
同志们加油!
离线liaopifan

只看该作者 3楼 发表于: 2016-01-28
求大神帮助~别沉
离线dbzhang800

只看该作者 4楼 发表于: 2016-01-28
你那两行代码不可能达到 exec() 的效果。你这两行的效果大致等同于QDialog::open()

QDialog::exec() 内包含你那两行,

但是QDialog::exec()和QCoreApplication::exec()/QMenu::exec() 等一样,主要功能是开启事件循环(不然为何都叫exec呢,对吧?)。
离线liaopifan

只看该作者 5楼 发表于: 2016-01-28
问题已解决:

dialog->show();
dialog->setModal()true;

上下顺序调换即可:所有的set都是在初始化,show是展示,不属于初始化
——————感谢QT&C++编程爱好者群 271251545——Geek-小黑
快速回复
限100 字节
 
上一个 下一个