PySide2教程 1 5 使用UI檔案

2021-10-04 09:33:05 字數 2144 閱讀 8728

這篇教程講解如何使用qt creator來為你的pyside2專案建立圖形介面。你需要使用qt creator來設計和修改你的使用者介面(ui檔案)。

如果你不知道怎麼使用qt creator,可以看using qt designer這篇文章。

在qt creator中,新建乙個qt design form,選擇「main window」作為模板,儲存為mainwindow.ui。在介面上放乙個centralwidget布局,然後在中間新增乙個qpushbutton元件。

你的mainwindow.ui檔案看起來應該差不多是這樣的:

<?xml version="1.0" encoding="utf-8"?>

mainwindow00

400300

mainwindow

11080201

81

pushbutton

00400

20

top*******area

false

現在,有兩種方法來在python中使用你的ui檔案,供你選擇。

使用pyside2-uic工具,可以將ui檔案轉換為python類檔案。在系統命令行中執行下面命令即可:

pyside2-uic mainwindow.ui > ui_mainwindow.py
生成的ui_mainwindow.py檔案可以直接被引用:

from ui_mainwindow import ui_mainwindow
我們需要建立乙個ui_mainwindow的子類來使用。可以看看完整的**來理解這個用法:

import sys

from pyside2.qtcore import qfile

from ui_mainwindow import ui_mainwindow

class mainwindow(qmainwindow):

def __init__(self):

super(mainwindow, self).__init__()

self.ui = ui_mainwindow()

self.ui.setupui(self)

if __name__ == "__main__":

window = mainwindow()

window.show()

在if語句裡的內容我們都認識。在我們定義的子類裡只加了兩行**,用來載入我們用ui檔案生成的python類檔案:

self.ui = ui_mainwindow()

self.ui.setupui(self)

每次修改ui檔案後,你都需要重新執行pyside2-uic將其轉換為python類檔案。

我們可以用qtuitools模組直接載入ui檔案:

from pyside2.qtuitools import quiloader
quiloader讓我們可以實時直接呼叫ui檔案:

ui_file = qfile("mainwindow.ui")

ui_file.open(qfile.readonly)

loader = quiloader()

window = loader.load(ui_file)

window.show()

完整**如下:

# file: main.py

import sys

from pyside2.qtuitools import quiloader

from pyside2.qtcore import qfile

if __name__ == "__main__":

ui_file = qfile("mainwindow.ui")

ui_file.open(qfile.readonly)

loader = quiloader()

window = loader.load(ui_file)

ui_file.close()

window.show()

使用以下命令列即可執行這個程式:

python main.py

PySide2使用ui檔案的兩種方法

在命令列執行如下命令 pyside2 uic mainwindow.ui ui mainwindow.py使用時直接匯入 from ui mainwindow import ui mainwindow在建立我們自己的類時就可以使用 如 class mainwindow qmainwindow def...

Pyside2開發環境搭建

pip install index url pyside2 trusted host download.qt.io 要分為三個步驟 開啟qtdesigner繪製視窗 將ui檔案轉換為py檔案供主程式呼叫 主視窗全域性初始化。使用過c 版本qt的老玩家 使用者 都知道,qtdesigner是乙個非常好...

pyside2設計GUI的發布

關於選擇pyside2的原因,裡有詳細說明,也可以參考對應的bilibili鏈結。發布程式需要的pyinstaller pip install pyinstallerpyinstaller f py noconsole hidden import pyside2.qtxml生成三個資料夾和乙個 sp...