加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – QDialog :: exec()阻止应用程序

发布时间:2020-12-16 09:47:25 所属栏目:百科 来源:网络整理
导读:我目前有一个formA,它使用从QDialog继承的另一个表单请求用户输入.使用QDialog :: exec提示表单.现在问题是formA会有多个实例,因此每当formA打开另一个表单时,整个应用程序都会阻塞另一个表单.目前我有这样的东西 if(formUserInputRequired-exec()==1) //Blo
我目前有一个formA,它使用从QDialog继承的另一个表单请求用户输入.使用QDialog :: exec提示表单.现在问题是formA会有多个实例,因此每当formA打开另一个表单时,整个应用程序都会阻塞另一个表单.目前我有这样的东西

if(formUserInputRequired->exec()==1) //Block until the user selects from a form
{
}

有没有办法让QDialog :: exec不阻止整个应用程序我只是希望它只阻止它被调用的形式的实例或类似的东西,但绝对不是整个应用程序?

更新:
我不需要阻挡窗口.但是,我想知道用户何时完成另一种形式的输入,以便原始表单可以处理该数据

解决方法

在Qt :: WindowModal作为参数的对话框上调用setWindowModality方法.

Qt::NonModal          0  The window is not modal and does not block input to other windows.
Qt::WindowModal       1  The window is modal to a single window hierarchy and blocks input to its parent window,all grandparent windows,and all siblings of its parent and grandparent windows.
Qt::ApplicationModal  2  The window is modal to the application and blocks input to all windows.

Source

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读