Folgendes habe ich mir mal hergedichtet:
Code: Alles auswählen
import sys
from PyQt4 import QtGui
from PyQt4 import uic
app = QtGui.QApplication(sys.argv)
window = QtGui.QDialog()
uic.loadUi("eingabe.ui")
uic.setupUi(window)
window.show()
sys.exit(app.exec_())
Ich erhalte dann eine lange Liste, von der aber wohl wieder nur die letzte Zeile interessant ist:
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Daten\programmieren\python25\filme\gui2.py", line 7, in <module>
uic.loadUi("eingabe.ui")
File "C:\Python25\lib\site-packages\PyQt4\uic\__init__.py", line 106, in loadUi
return loader.DynamicUILoader().loadUi(uifile, baseinstance)
File "C:\Python25\lib\site-packages\PyQt4\uic\Loader\loader.py", line 22, in loadUi
return self.parse(filename)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 667, in parse
actor(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 526, in createUserInterface
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 504, in traverseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 163, in createWidget
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 504, in traverseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 163, in createWidget
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 504, in traverseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 320, in createLayout
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 504, in traverseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 328, in handleItem
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 504, in traverseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 323, in createLayout
self.stack.peek().addLayout(layout, *elem.attrib["grid-position"])
AttributeError: addLayout
Anscheinend hängt es daran, dass der Übersetzer für alle Layouts die Methode addLayout() verwendet, obwohl selbige beim QGridLayout und QFormLayout setLayout() heißt.
Was soll ich da tun? Von Python 2.5 auf 2.6 wechseln? Oder dann gleich auf Version 3? Vielleicht gibt es den Bug dort nicht...
Oder kann ich sonst etwas falsch machen, was diesen Fehler erzeugen kann?