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

2021-07-25 15:43:23 字數 1946 閱讀 4206

在用pyside或pyqt的時候,經常用到要將畫好的ui檔案匯入到**裡使用,下面是兩種調入的方法:

import pyqt4.uic

from pyqt4 import qtcore, qtgui

mainwindowform, mainwindowbase = pyqt4.uic.loaduitype('ui/mainwindow.ui')

class

mainwindow

(mainwindowbase, mainwindowform):

def__init__

(self, parent = none):

super(mainwindow, self).__init__(parent)

# setup the ui

self.setupui(self)

if ( __name__ == '__main__' ):

window = mainwindow()

window.show()

第二種:

import pyqt4.uic

from pyqt4 import qtcore, qtgui

class

mainwindow

(qtgui.qmainwindow):

def__init__

(self, parent = none):

super(mainwindow, self).__init__(parent)

# load the ui

pyqt4.uic.loadui('ui/mainwindow.ui', self)

if ( __name__ == '__main__' ):

window = mainwindow()

window.show()

當然如果是用pyside的話,我們可以寫個專門讀取ui檔案的方法,將baseclass和formclass返回出去,供後面ui的類繼承。

# -*- coding: utf-8 -*-

from pyside import qtgui

import xml.etree.elementtree as xml

from cstringio import stringio

defload_ui_file

(ui_file, type='pyside'):

if type == 'pyside':

import pysideuic

print pysideuic

parsed = xml.parse(ui_file)

widget_class = parsed.find('widget').get('class')

form_class = parsed.find('class').text

with open(ui_file, 'r') as f:

o = stringio()

frame = {}

pysideuic.compileui(f, o, indent=0)

pyc = compile(o.getvalue(), '', 'exec')

exec pyc in frame

form_class = frame['ui_%s' % form_class]

base_class = getattr(qtgui, widget_class)

return form_class, base_class

elif type == 'pyqt4':

import pyqt4.uic

return pyqt4.uic.loaduitype(ui_file)

if __name__ == "__main__":

ui_file = 'test.ui'

load_ui_file(ui_file)

pyqt load .ui file

PySide2教程 1 5 使用UI檔案

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

執行載入 ui檔案

借助qt提供的qtuitools模組以及其中的quiloader類我們可以實現在執行時獲取並 載入.ui檔案。我們可以使用任何qiodevice的例項來讀取使用者介面架構,通常使用qfile 類的例項。quiloader load 方法讀取了.ui檔案中包含的介面架構並將它賦予乙個 qwidget子...

設計時載入UI

1.首選建立三個ui窗體,分別為first.ui ui first.h second.ui ui second.h third.ui ui third.h 2.再建立乙個包含三個ui的標頭檔案,並新建乙個mywidget類呼叫這三個窗體,並寫入訊號槽實現 標頭檔案mywidget.h ifndef ...