我使用Qt设计器构建GUI,并使用pyuic5将它们转换为py文件。我的最终目标是在变量==1时中断用户关闭程序,并向他们显示一个“你确定要关闭吗?”类型对话框。如果所述变量==0,则正常关闭程序。在
我已经看到了很多关于如何做到这一点的例子,但是它们都需要在GUI模块中编辑代码。我进口我的图形用户界面.py文件由pyuic5创建到我的主脚本中,在这里我可以连接到按钮、行编辑等。。我这样做是为了在任何时候都可以用Qt设计器更新GUI而不影响程序功能。在
有没有一种方法可以从从Qt Designer导入GUI模块的主脚本中实现这一点?在
主脚本的结构示例:
import philipsControlGui
import sys
def main():
MainWindow.show()
sys.exit(app.exec_())
def test():
print('test')
# Main window setup
app = philipsControlGui.QtWidgets.QApplication(sys.argv)
MainWindow = philipsControlGui.QtWidgets.QMainWindow()
ui = philipsControlGui.Ui_MainWindow()
ui.setupUi(MainWindow)
# Main window bindings
ui.onButton.clicked.connect(test)
### Can I insert something here to do: if user closes the window... do something else instead?
if __name__ == "__main__":
main()
如果您的设计中有一个特定的“ExitButton”,您应该能够在主代码中连接它并创建一个弹出对话框。您必须导入QtCore/QtGui组件。我总是直接编写GUI(QtDesigner在处理这些事情时很痛苦),所以我假设如下:
您应该从导入的gui创建一个子类,以便重新实现
closeEvent
方法:相关问题 更多 >
编程相关推荐