ich möchte ein mit dem Qt Designer erstelltes Programm dynamisch generieren lassen. Allerdings klappt es noch nicht einmal beim Minimalbeispiel. (Fenster mit einem Button) Anbei sind die ganzen Dateien und Fehler.
Danke für jede Antwort.
PS: Auch das Code generieren im Designer klappt nicht.
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>331</width>
<height>46</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>20</x>
<y>10</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Hallo!!!</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Code: Alles auswählen
import sys
from PyQt4 import QtGui, uic
dein_ui_file = open("untitled.ui")
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
uic.loadUi(dein_ui_file, self)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Documents and Settings\Michael\My Documents\Python\qt\gui_test.py", line 13, in <module>
window = MainWindow()
File "C:\Documents and Settings\Michael\My Documents\Python\qt\gui_test.py", line 9, in __init__
uic.loadUi(dein_ui_file, self)
File "C:\Python31\lib\site-packages\PyQt4\uic\__init__.py", line 221, in loadUi
return DynamicUILoader().loadUi(uifile, baseinstance)
File "C:\Python31\lib\site-packages\PyQt4\uic\Loader\loader.py", line 71, in loadUi
return self.parse(filename, basedir)
File "C:\Python31\lib\site-packages\PyQt4\uic\uiparser.py", line 879, in parse
actor(elem)
File "C:\Python31\lib\site-packages\PyQt4\uic\uiparser.py", line 716, in createUserInterface
self.toplevelWidget = self.createToplevelWidget(cname, wname)
File "C:\Python31\lib\site-packages\PyQt4\uic\Loader\loader.py", line 56, in createToplevelWidget
(type(self.toplevelInst), classname)))
TypeError: ('Wrong base class of toplevel widget', (<class '__main__.MainWindow'>, 'QDialog'))