PySide + QUiLoaderを使ったテスト その1
Qtを使ったことがないので、テストです。
Qt Designerで作ったuiファイルを表示するだけ。
from PySide import QtCore from PySide.QtUiTools import QUiLoader from PySide.QtGui import QApplication class MyQUiLoader(QUiLoader): def __init__(self, baseinstance): QUiLoader.__init__(self) self.baseinstance = baseinstance def createWidget(self, className, parent=None, name=""): widget = QUiLoader.createWidget(self, className, parent, name) if parent is None: return widget else: setattr(parent, name, widget) return widget def loadUi(uifile, baseinstance=None): loader = MyQUiLoader(baseinstance) ui = loader.load(uifile) QtCore.QMetaObject.connectSlotsByName(ui) return ui import sys app = QApplication(sys.argv) w = loadUi('test.ui') w.show() app.exec_()
test.ui
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>Form</class> <widget class="QWidget" name="Form"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>199</width> <height>60</height> </rect> </property> <property name="windowTitle"> <string>Form</string> </property> <widget class="QWidget" name="formLayoutWidget"> <property name="geometry"> <rect> <x>-1</x> <y>-1</y> <width>201</width> <height>61</height> </rect> </property> <layout class="QFormLayout" name="formLayout"> <item row="0" column="0"> <widget class="QLineEdit" name="lineEdit"/> </item> <item row="1" column="0"> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>PushButton</string> </property> </widget> </item> </layout> </widget> </widget> <resources/> <connections/> </ui>