如何解决PyQt5 控制窗口
在上图中,背景窗口是屏幕的主窗口。然后跟随一个从主窗口菜单打开的表单 在顶部你可以看到一个像这样的 QMessageBox:
Box = QMessageBox()
Box.setIcon(QMessageBox.Question)
Box.setwindowTitle('Αποθήκευση αλλαγών')
Box.setText('Θέλετε να αποθηκεύσετε τις αλλαγές σας;')
Box.setStandardButtons(QMessageBox.Yes|QMessageBox.No|QMessageBox.Cancel)
buttonY = Box.button(QMessageBox.Yes)
buttonY.setText('Ναι')
buttonN = Box.button(QMessageBox.No)
buttonN.setText('Οχι')
buttonC = Box.button(QMessageBox.Cancel)
buttonC.setText('Ακύρωση')
Box.exec_()
if Box.clickedButton() == buttonY:
self.save_and_close(True)
self.main_self.manage_microphone_window_is_open = False
event.accept()
elif Box.clickedButton() == buttonN:
self.main_self.manage_microphone_window_is_open = False
event.accept()
elif Box.clickedButton() == buttonC:
event.ignore()
我希望在底部的 Windows(底部有窗口和时钟的开始菜单)只显示一个程序。
有什么想法吗?
解决方法
在 musicmante 的帮助下,我做了以下事情:
- 我将 Form Window 更改为 QDialog 并将 MainWindow 设置为父窗口
- 我将父级设置为框:
box = QMessageBox(dlg)
请注意,当您将 QWidgets 从 Form 复制粘贴到新的 Dialog(在 QtDesigner 中)时,请注意在步骤 1 中,您可以更改窗口标题、窗口图标、窗口样式以及任何其他窗口设置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。