在PyQt中为Mac创建消息框作为表单
我在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()