Sytsem Error beim Ausführen von "loadUi()"

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Amelie
User
Beiträge: 16
Registriert: Montag 7. März 2011, 14:48

Hallo,
ich schreibe gerade an einem Plugin in Python für das GIS Programm Quantum GIS. QGIS beinhaltet ua. Python 2.5 und PyQt4 mit denen ich arbeite. Ich habe in QtCreator 2.1 (Qt Designer 4.7) ein GUI geschrieben, dass ich jetzt gerne mit meinem Python Code verknüpfen würde. Ich habe versucht mit pyuic "myfile.ui" in "myfile.py" umzuwandeln, habe hier allerdings Probleme.
Der Fehler taucht außerhalb meines Skripts auf. Ich verstehe nicht, ob ich falsche Argumente geliefert habe. Woher sollte der Fehler sonst kommen, alle anderen beteiligten Funktionen/Module s´tammen ja nicht von mir sondern aus PyQt4.
Online konnte ich leider nur diesen Forumbeitrag http://chakra-project.org/bbs/viewtopic ... 6306#p6306 finden, allerdings taucht hier der Fehler erst später auf und ich kann auch darin keine hilfreiche Lösung finden.

Code: Alles auswählen

# Set up the user interface from Designer 
code_dir = os.path.dirname(os.path.abspath(__file__))
self.ui = loadUi(os.path.join(code_dir, "Ui_myfile.ui"), self)
File "C:/Dokumente und Einstellungen/name.name/.qgis/python/plugins\myfile\myfile_gui.py", line 42, in __init__
self.ui = loadUi(os.path.join(code_dir, "Ui_myfile.ui"), self)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\__init__.py", line 112, in loadUi
return DynamicUILoader().loadUi(uifile, baseinstance)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\Loader\loader.py", line 21, in loadUi
return self.parse(filename)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 768, in parse
actor(elem)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 616, in createUserInterface
self.traverseWidgetTree(elem)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 594, in traverseWidgetTree
handler(self, child)
File "C:\PROGRA~1\QUANTU~1\apps\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 233, in createWidget
topwidget.setCentralWidget(widget)
SystemError: error return without exception set
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wie wird das Programm denn gestartet? Ist das innerhalb dieses GIS? Wenn ja, hast du das Programm schon einmal mit einem "normalen" Python gestartet?
Amelie
User
Beiträge: 16
Registriert: Montag 7. März 2011, 14:48

cofi hat geschrieben:Wie wird das Programm denn gestartet? Ist das innerhalb dieses GIS? Wenn ja, hast du das Programm schon einmal mit einem "normalen" Python gestartet?
Ja, ich starte das Programm über die GIS-integrierte Py-Konsole. Zwar schreibe ich den Code in der Python IDLE Shell, starte es dann aber gleich als Plugin über GIS. Ganz in der Shell kann ich es nicht laufen lassen, weil PyQt4 nur im GIS Programm liegt und ich nicht wüsste, wie ich darauf von der Shell aus zugreifen kann. Idealerweise hätte ich PyQt4 schon längst generell heruntergeladen, habe da aber Probleme mit unserem Admin, der für mich sowieso schon all die anderen Sachen installiert hat und jetzt einen Schlußstrich gezogen hat.
Antworten