2011-11-23 62 views
0

我使用消息框作为单独的对话框而不是mac OS的工作表,现在我正在对它进行工作,以生成一张作为消息框而不是单独的工作表。在PyQt中为mac创建消息框

我试图设置消息框为模式之一:

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

和设置消息框,父对话框窗口标志作为片

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

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

有没有人有如何解决的想法?

回答

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() 
0

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