在PyQt中为mac创建消息框作为工作表

时间:2011-11-23 09:26:25

标签: python qt pyqt

我使用消息框作为单独的对话框而不是用于mac OS的工作表,现在我正在使用它来生成一个工作表作为消息框而不是单独的一个。

我尝试将消息框设置为模式框:

(messagebox.setWindowModality(QtCore.Qt.WindowModal))

并设置消息框,父对话窗口标记为表格

(parentDialog.setWindowFlags(QtCore.Qt.Sheet) messagebox.setWindowFlags(QtCore.Qt.Sheet))

但是上述命令无法创建工作表而不是单独的对话框。

有没有人知道如何解决?

2 个答案:

答案 0 :(得分:2)

对话框无法显示为包含exec_()的工作表。

相反,只需使用QMessageBox.open(),它在Mac上大致相当于:

messagebox.finished.connect(self.handler)
messagebox.setWindowModality(QtCore.Qt.WindowModal)
messagebox.setParent(messagebox.parentWidget(), QtCore.Qt.Sheet)
messagebox.setResult(0)
messagebox.show()

答案 1 :(得分:0)

根据助手,您只需要设置窗口模态和父级。您是否将消息框'parent设置为父对话框?