QMessageBox位置打开QMessageBox.warning警告

2024-03-28 19:56:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在当前窗口中,我尝试使用QMessageBox创建一个简单的确认对话框。你知道吗

我的代码是:

res = QMessageBox.question(QMessageBox(currentWindow), "Question",  "Are you sure?", QMessageBox.Yes | QMessageBox.No)

问题是确认对话框出现在屏幕上完全随机的位置,而不是父窗口的顶部。我在macos10.12上观察到这种行为。这也是一个例子QMessageBox.warning警告, QMessageBox.critical文件,以及其他静态方法。你知道吗

有没有办法将模态对话框的位置设置为相对于其父对话框的位置?你知道吗


Tags: no代码you屏幕resare例子yes
1条回答
网友
1楼 · 发布于 2024-03-28 19:56:03

QMessageBox::question()的第一个参数是对话框将使用的父参数。一个QDialog位于其父级的中心(和模态)。你知道吗

通过执行QMessageBox.question(QMessageBox(currentWindow),您将传递一个QMessageBox的新实例,该实例不会显示。你知道吗

改为传递currentWindow

res = QMessageBox.question(currentWindow, "Question", "Are you sure?", QMessageBox.Yes | QMessageBox.No)

但是,您需要确保currentWindow被显示,而不是None。你知道吗

相关问题 更多 >