【问题标题】:How to connect separate UI files created by Qt Designer?如何连接由 Qt Designer 创建的单独的 UI 文件?
【发布时间】:2016-03-14 11:42:28
【问题描述】:

我使用 PyQt5 在 python 中创建了一个 GUI 应用程序。

步骤是首先我在 Qt Designer 中创建了一个 ui 文件。然后我在终端中使用pyuic4 -o demo.ui -x demo.py 将该ui 文件转换为py 文件。之后我修改 py 文件以从数据库中获取动态值。但是当我在设计上有一点改变时,我再次创建 ui 文件,并再次转换为 py 文件并为数据库编写代码。

因此重复相同的过程需要很长时间。有没有将 py 文件转换为 ui 文件的选项?或者有什么其他建议?

【问题讨论】:

    标签: python qt-designer pyqt5 pyuic


    【解决方案1】:

    您可以使用以下命令在您的 python 脚本中加载 .ui 文件:

    loadUi('demo.ui', self)
    

    pyqt示例的“pyuic”文件夹中有一些相关示例。

    【讨论】:

    • 感谢回复。我可以在python脚本中加载ui文件。但是是否可以检索ui文件中的数据库值?
    • 我建议您使用您的代码和问题描述创建一个专门针对您需要的新问题
    【解决方案2】:

    您应该切勿修改pyuic 生成的模块。它们是导入主应用程序的静态模块。

    ui 模块应该这样创建:

    pyuic5 -o mainwindwow.py mainwindow.ui
    

    主应用程序文件应如下所示:

    import sys
    from PyQt5 import QtWidgets
    from mainwindow import Ui_MainWindow
    
    class MainWindow(QtWidgets.QMainWindow):
        def __init__(self):
            super(MainWindow, self).__init__()
            self.ui = Ui_MainWindow()
            self.ui.setupUi(self)
            self.ui.closeButton.clicked.connect(self.close)
    
    if __name__ == '__main__':
    
        import sys
        app = QtWidgets.QApplication(sys.argv)
        window = MainWindow()
        window.show()
        sys.exit(app.exec_())
    

    可以在 PyQt5 文档中找到更多信息 - 请参阅 Using Qt Designer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 2017-09-05
      相关资源
      最近更新 更多