如何创建一个Qt窗口就像一个消息框?

时间:2009-08-16 14:21:31

标签: c++ qt

我想创建一个Qt弹出窗口,其行为类似于Qt中的消息框。这意味着必须阻止GUI的其余部分,直到该弹出窗口被解除。这可能是一个孩子的问题,但任何人都可以帮助我吗?

谢谢...:)

编辑:

我想在弹出窗口中使用表单,标签,按钮和其他一些窗口小部件类型。

1 个答案:

答案 0 :(得分:17)

Modal Dialogs

  

模态对话框是一个阻止的对话框   输入到其他可见窗口   相同的申请。用户必须完成   与对话框交互并关闭   在它们可以访问任何其他之前   应用程序中的窗口。对话框   用于请求文件名的   来自用户或用于设置   应用程序首选项通常   模态的。

     

显示模态的最常用方法   dialog是调用它的exec()函数。   当用户关闭对话框时   exec()将提供有用的回报   值。通常,要获取对话框   关闭并返回相应的   值,我们连接一个默认按钮,   例如“OK”,到accept()插槽和a   “取消”按钮到拒绝()插槽。   或者你可以调用done()   插槽已接受或已拒绝。

     

另一种方法是打电话   setModal(true)或setWindowModality(),   然后show()。与exec()不同,show()   将控制权返回给调用者   立即。调用setModal(true)是   对进步特别有用   对话框,用户必须拥有的对话框   能够与对话框进行交互,   例如取消长时间运行   操作。如果你使用show()和   setModal(true)一起执行一个   长时间操作,你必须打电话   的QApplication :: processEvents()   在处理期间定期   使用户能够与之交互   对话。 (见QProgressDialog。)