2009-08-16 84 views
6

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

谢谢... :)

编辑:

我想用表格,标签,按钮和其他一些构件类型在弹出的窗口。

回答

17

Modal Dialogs

模式对话框是一个对话框,块 输入至 同一应用程序的其他可见窗口。用户必须完成 与对话框交互并关闭 它才能访问应用程序中的任何其他 窗口。对话框 用于向用户请求文件名 或用于设置 应用程序首选项通常为 模式。

显示模态对话框的最常见方法是调用它的exec()函数。 当用户关闭对话框时, exec()将提供一个有用的返回值 值。通常,要使对话框关闭并返回 的值,我们会连接默认按钮 “OK”,接受()插槽和 拒绝()插槽的“取消”按钮。 或者,您可以使用Accepted或Rejected调用done() 插槽。

另一种方法是调用 setModal(true)或setWindowModality(), then show()。与exec()不同,show() 立即将控制权返回给调用者 。调用setModal(true)为 特别适用于进度 对话框,其中用户必须具有 与对话框交互的能力,例如 。取消长时间运行 操作。如果您使用显示()和 setModal(真)一起执行 长时间的操作,则必须调用 的QApplication :: processEvents() 定期处理过程中 使用户能够与 对话互动。 (见QProgressDialog。)

+0

感谢您的指导..我会试试.. – Morpheus 2009-08-16 14:36:11

+0

是的...这就是我想要的。非常感谢你.. – Morpheus 2009-08-16 14:42:56

相关问题