簡體   English   中英

使用 pyside6 將 ui 文件轉換為 py

[英]converting ui file into py using pyside6

我只是嘗試 pyside6 將 ui 文件轉換為 py 文件。

當我使用 pyside2 時,我正在編寫這個命令行來轉換文件:

pyside2-uic MainWindow.ui -o ui_mainwindow.py -x

但是對於 pyside6,它不再起作用:“-x”看起來沒有必要。 所以你必須寫:

pyside6-uic MainWindow.ui -o ui_mainwindow.py

但是,當我運行生成的新文件時,什么也沒發生。 我查看了文件的末尾,它缺少 pyside2 的一部分。 這部分代碼不再在這里:

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

我做錯了什么?

您沒有做錯任何事情,添加這部分代碼是為了創建 pyuic 文件的“可執行”版本,其目的主要是測試它。

我不知道是否為支撐-x已被刪除,但很有道理,也不會怎樣都無所謂了很多:pyuic生成的文件不打算被執行,而不應手動修改,因為它們應僅用作導入,如有關使用 Designer的官方指南中所述。

我這樣做的方法是導入 uic 創建的類:

from ui_mainwindow import Ui_MainWindow

然后我創建一個 QMainWindow 類並實例化 uic 類。 您需要在實例上調用 setupUi 方法。

class UI(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

    ...

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    win = UI()
    win.show()
    app.exec()

現在,您可以通過 self.ui 訪問所有小部件:

self.ui.myPushButton.clicked.connect(self.doSomething)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM