PySide6教程之UI檔案的兩種使用方式

2021-10-25 19:50:40 字數 2492 閱讀 4511

本頁面描述了如何使用qt creator為你的qt for python專案建立圖形介面。你需要qt creator來設計和修改你的介面(ui檔案)。

如果你不清楚如何使用qt creator,請參考使用qt designer文件

在qt creator中,建立乙個新的qt design form,選擇「主視窗」模板。另存為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檔案了。

與ui檔案互動的另一種方式是使其生成python類。這需要pyside6-uic工具。要使用此工具,需要在控制台執行以下命令:

pyside6-uic mainwindow.ui > ui_mainwindow.py
我們將命令的輸出重定向到乙個名為ui_mainwindow.py的檔案,它將直接匯入:

from ui_mainwindow import ui_mainwindow
現在要使用它,應該為小部件建立乙個定製化的類來設定生成的設計。為了理解這個想法,讓我們來看看整個**:

import sys

from pyside6.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)

note

每次修改ui檔案時,都必須再次執行pyside6-uic對ui檔案進行轉換。

要直接載入ui檔案,我們需要乙個來自qtuittools模組的類:

from pyside6.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 pyside6.qtuitools import quiloader

from pyside6.qtcore import qfile, qiodevice

if __name__ == "__main__":

ui_file_name = "mainwindow.ui"

ui_file = qfile(ui_file_name)

if not ui_file.open(qiodevice.readonly):

print(f"cannot open : ")

sys.exit(-1)

loader = quiloader()

window = loader.load(ui_file)

ui_file.close()

if not window:

print(loader.errorstring())

sys.exit(-1)

window.show()

然後執行,我們只需要在命令提示符上執行以下命令:

PySide2教程 1 5 使用UI檔案

這篇教程講解如何使用qt creator來為你的pyside2專案建立圖形介面。你需要使用qt creator來設計和修改你的使用者介面 ui檔案 如果你不知道怎麼使用qt creator,可以看using qt designer這篇文章。在qt creator中,新建乙個qt design for...

PySide和PyQt載入ui檔案的兩種方法

在用pyside或pyqt的時候,經常用到要將畫好的ui檔案匯入到 裡使用,下面是兩種調入的方法 import pyqt4.uic from pyqt4 import qtcore,qtgui mainwindowform,mainwindowbase pyqt4.uic.loaduitype ui...

PySide2使用ui檔案的兩種方法

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