2016-07-13 5 views
2

Ich versuche ein Programm in Python zu schreiben, das eine .ui-Datei im selben Ordner (erstellt in Qt Designer) in eine .py-Datei konvertiert. Dies ist der Code für dieses extrem Basisprogramm:Fehler beim Verwenden von uic zum Konvertieren von .ui-Datei in .py-Datei in Python

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

from PyQt4 import uic 

with open('exampleinterface.py', 'w') as fout: 
    uic.compileUi('exampleinterface.ui', fout) 

Es gibt die folgenden Fehler (mit verkürztem langen Pfadnamen):

Traceback (most recent call last):

File "", line 1, in

File "...\Python32_3.5\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile execfile(filename, namespace)

File "...\Python32_3.5\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 88, in execfile exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace) File ".../Documents/Python/UiToPy/minimalconvert.py", line 11, in uic.compileUi('exampleinterface.ui', fout)

File "...\Python32_3.5\lib\site-packages\PyQt4\uic__init__.py", line 173, in compileUi winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports, resource_suffix)

File "...\Python32_3.5\lib\site-packages\PyQt4\uic\Compiler\compiler.py", line 140, in compileUi w = self.parse(input_stream, resource_suffix)

File "...\Python32_3.5\lib\site-packages\PyQt4\uic\uiparser.py", line 974, in parse document = parse(filename)

File "...\Python32_3.5\lib\xml\etree\ElementTree.py", line 1182, in parse tree.parse(source, parser)

File "...\Python32_3.5\lib\xml\etree\ElementTree.py", line 594, in parse self._root = parser._parse_whole(source) xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 1

Kann mir jemand sagen, warum dies nicht funktioniert, und wenn Es gibt eine Lösung?

Hinweis: Ich weiß, dass es andere Möglichkeiten gibt, eine .ui-Datei in eine .py-Datei zu konvertieren, aber ich suche eine, die ich einfach in ein Python-Programm integrieren kann, ohne eine externe Datei aufzurufen.

+0

Funktioniert gut für mich. Offensichtlich stimmt etwas mit deiner 'ui' Datei nicht - aber da du es nicht angegeben hast, gibt es nicht viel mehr zu sagen. – ekhumoro

+0

Sie sollten überprüfen, ob die gleiche Datei in der Befehlszeile mit 'pyuic4' normal konvertiert werden kann. Wenn es dort auch nicht funktioniert, ist Ihre .ui-Datei das Problem. – Ian

Antwort

0

Dank ekhumoro und mwormser. Das Problem war in der Tat die .ui-Datei. Ich habe es mit einer neuen .ui-Datei versucht und alles hat gut funktioniert.

Verwandte Themen