PyQT - Umwandlung .ui zu .py??

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
koellmania
User
Beiträge: 3
Registriert: Sonntag 20. April 2008, 00:50

PyQT - Umwandlung .ui zu .py??

Beitragvon koellmania » Sonntag 20. April 2008, 00:59

Hi user!
bin neu hier im forum und bau zurzeit mit PyQT herum.
doch jetzt hab ich ein problem:

ich hab das tutorial von GalileoComputing durchgemacht und bin grad bei "24.3.2 Schreiben des Programms" auf der Seite http://galileocomputing.de/openbook/python/python_kapitel_24_003.htm

mein verzeichnis: D:\Python25
meine Datei: test.ui

ich bin per konsole in diesem verzeichnis und ruf die datei wie folgt auf:
pyuic4 -o test.py test.ui

doch dann kommt: "Das System kann den angegebenen Pfad nicht finden"

Kann mir da jemand weiter helfen? Gibt es vlt. Alternativen dazu?
Vielen Dank im Voraus!

:)
koellmania
User
Beiträge: 3
Registriert: Sonntag 20. April 2008, 00:50

Beitragvon koellmania » Sonntag 20. April 2008, 15:24

pls help me! :cry: 8)
BlackJack

Beitragvon BlackJack » Sonntag 20. April 2008, 15:31

Welcher Pfad kann denn nicht gefunden werden? Ist `pyuic4` denn installiert und im `%PATH%`!?
koellmania
User
Beiträge: 3
Registriert: Sonntag 20. April 2008, 00:50

Beitragvon koellmania » Sonntag 20. April 2008, 15:43

D:\Python25\ und ja, es ist installiert.
Im PATH hab ich es nicht gefunden.
was muss ich da angeben?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Sonntag 27. April 2008, 15:01

Na natürlich den absoluten Pfad zu pyuic4!
flyingpy
User
Beiträge: 10
Registriert: Donnerstag 10. Juli 2008, 07:39
Wohnort: Wr. Neustadt

Beitragvon flyingpy » Donnerstag 10. Juli 2008, 08:21

Hi koellmania!

Ich bin neu in diesem Forum und habe Dein Problem daher erst jetzt gelesen. Auch ich kämpfe mich gerade durch dieses Buch. Hatte das selbe Problem bin aber dahinter gekommen, dass man den gesamten Pfad in der Eingabeaufforderung eingeben muss. Ich nehme an Dein Betriebssystem ist Windows.
Bei mir hat's so funktioniert:
PyQt4 ist installiert und befindet sich im Ordner Python25 als Unterordner.
Im Ordner PyQt4 befindet sich der Unterordner <bin> in diesem die Datei pyuic4.
Du hast die Datei test.ui erstellt und zum Beispiel direkt in den Ordner D:\Python25 gespeichert.
Nun starte die Eingabeaufforderung in Windows, klicke dazu Start-Alle Programme-Zubehör-Eingabeaufforderung.
Das Konsolenfenster öffnet sich.
Nun musst Du den genauen Pfad für alles eingeben z. B. so:
D:\Python25\PyQt4\bin\pyuic4 -o D:\Python25\test.py D:\Python25\test.ui
Beachte die Leerzeichen. Dann drücke die Taste <Enter>. Nun sollte sich die Datei test.py im Ordner D:\Python25 befinden.

Hoffe ich konnte Dir helfen
Gruß
flyingpy :)
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Mittwoch 6. August 2008, 18:56

hallo,

ich führe den thread mal weiter...

bei mir kommt - nachdme ich pobigem tipp gefolgt bin - die fehlermeldung "an unexpected error accoured ..."

was nun? alle pfade waren richtig :cry:

LG
lunar

Beitragvon lunar » Mittwoch 6. August 2008, 19:19

Die exakte Kommandozeile posten, ebenso wie die vollständige und ungekürzte Fehlermeldung. Am besten kopierst du per Copy n' Paste den gesamten Text aus der Eingabeaufforderung. Wir können nicht erraten, was auf deinem PC nicht funktioniert ...
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Mittwoch 6. August 2008, 19:22

Code: Alles auswählen

C:\Users\Daniel>C:\Python25\PyQt4\bin\pyuic4 -o C:\Python25\anmeldung.py C:\Pyth
on25\anmeldung.ui
An unexpected error occurred.
Check that you are using the latest version of PyQt and send an error report to
support@riverbankcomputing.com, including the following information:

  * your version of PyQt (4.4.2)
  * the UI file that caused this error
  * the debug output of pyuic4 (use the -d flag when calling pyuic4)


das ist der code :)

LG
lunar

Beitragvon lunar » Mittwoch 6. August 2008, 19:35

Was passiert, wenn du die Option -d hinzufügst, so wie in der Ausgabe beschrieben?
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Mittwoch 6. August 2008, 19:58

hallo

C:\Users\Daniel>C:\Python25\PyQt4\bin\pyuic4 -d C:\Python25\anmeldung.py C:\Python25\anmeldung.ui
Error: one input ui-file must be specified

seltsam, also der pfad stimmt mit sicherheit (habs überprüft)
lunar

Beitragvon lunar » Donnerstag 7. August 2008, 08:15

Du solltest "-d" hinzufügen, nicht "-o" damit ersetzen. So, wie du pyuic4 gerade aufrufst, gibt es nämlich keine Ausgabedatei, sondern zwei Eingabedateien, eine Situation, die pyuic4 nicht vernünftig verarbeiten kann.

Code: Alles auswählen

C:\Users\Daniel>C:\Python25\PyQt4\bin\pyuic4 -d -o C:\Python25\anmeldung.py C:\Python25\anmeldung.ui
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Donnerstag 7. August 2008, 15:53

C:\Users\Daniel>C:\Python25\PyQt4\bin\pyuic4 -o C:\Python25\anmeldung.py C:
on25\anmeldung.ui -d
PyQt4.uic.uiparser: UI version is 4.0
PyQt4.uic.uiparser: uiname is Form
PyQt4.uic.uiparser: toplevel widget is QWidget
PyQt4.uic.properties: setting property geometry
PyQt4.uic.properties: setting property windowTitle
PyQt4.uic.uiparser: push QWidget Form
PyQt4.uic.properties: setting property geometry
PyQt4.uic.properties: setting property title
PyQt4.uic.uiparser: push QGroupBox groupBox
PyQt4.uic.properties: setting property geometry
PyQt4.uic.properties: setting property text
PyQt4.uic.uiparser: push QPushButton pushButton
PyQt4.uic.uiparser: pop widget QPushButton pushButton
PyQt4.uic.uiparser: new topwidget self.groupBox
PyQt4.uic.properties: setting property geometry
PyQt4.uic.uiparser: push QWidget verticalLayoutWidget
PyQt4.uic.uiparser: push QVBoxLayout verticalLayout
PyQt4.uic.properties: setting property text
PyQt4.uic.properties: setting property textFormat
PyQt4.uic.properties: AutoText
PyQt4.uic.properties: setting property alignment
PyQt4.uic.properties: AlignRight
PyQt4.uic.properties: AlignTop
PyQt4.uic.properties: AlignTrailing
PyQt4.uic.uiparser: push QLabel label
PyQt4.uic.uiparser: pop widget QLabel label
PyQt4.uic.uiparser: new topwidget self.verticalLayoutWidget
PyQt4.uic.properties: setting property text
PyQt4.uic.properties: setting property alignment
PyQt4.uic.properties: AlignRight
PyQt4.uic.properties: AlignTrailing
PyQt4.uic.properties: AlignVCenter
PyQt4.uic.uiparser: push QLabel label_2
PyQt4.uic.uiparser: pop widget QLabel label_2
PyQt4.uic.uiparser: new topwidget self.verticalLayoutWidget
PyQt4.uic.uiparser: pop layout QVBoxLayout verticalLayout
PyQt4.uic.uiparser: pop widget QWidget verticalLayoutWidget
PyQt4.uic.uiparser: new topwidget self.groupBox
PyQt4.uic.properties: setting property geometry
PyQt4.uic.uiparser: push QWidget verticalLayoutWidget_2
PyQt4.uic.uiparser: push QVBoxLayout verticalLayout_2
PyQt4.uic.uiparser: push QLineEdit lineEdit
PyQt4.uic.uiparser: pop widget QLineEdit lineEdit
PyQt4.uic.uiparser: new topwidget self.verticalLayoutWidget_2
PyQt4.uic.uiparser: push QLineEdit lineEdit_2
PyQt4.uic.uiparser: pop widget QLineEdit lineEdit_2
PyQt4.uic.uiparser: new topwidget self.verticalLayoutWidget_2
PyQt4.uic.uiparser: pop layout QVBoxLayout verticalLayout_2
PyQt4.uic.uiparser: pop widget QWidget verticalLayoutWidget_2
PyQt4.uic.uiparser: new topwidget self.groupBox
PyQt4.uic.uiparser: pop widget QGroupBox groupBox
PyQt4.uic.uiparser: new topwidget Form
PyQt4.uic.properties: setting property geometry
PyQt4.uic.properties: setting property backgroundBrush
Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\PyQt4\uic\pyuic.py", line 73, in <mod
options.indent, options.pyqt3_wrapper)
File "C:\Python25\Lib\site-packages\PyQt4\uic\pyuic.py", line 28, in gene
i
uic.compileUi(uifname, pyfile, execute, indent, pyqt3_wrapper)
File "C:\Python25\lib\site-packages\PyQt4\uic\__init__.py", line 66, in c
eUi
winfo = compiler.UICompiler().compileUi(uifile, pyfile)
File "C:\Python25\lib\site-packages\PyQt4\uic\Compiler\compiler.py", line
in compileUi
w = self.parse(input_stream)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 572, in

actor(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 431, in
eUserInterface
self.traverseWidgetTree(elem)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 409, in
rseWidgetTree
handler(self, child)
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 155, in
eWidget
self.stack.push(self.setupObject(widgetClass(elem), parent, elem))
File "C:\Python25\lib\site-packages\PyQt4\uic\uiparser.py", line 131, in
Object
self.wprops.setProperties(obj, branch)
File "C:\Python25\lib\site-packages\PyQt4\uic\properties.py", line 293, i
Properties
propname[1:]))(self.convert(prop, widget))
File "C:\Python25\lib\site-packages\PyQt4\uic\properties.py", line 245, i
vert
raise UnsupportedPropertyError, prop[0].tag
UnsupportedPropertyError: brush



tja, diesmal lief es besser, nur im endeffekt auch scheiße :wink:
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Donnerstag 7. August 2008, 15:59

nee, hat doch geklappt :D

thx 8)

edit:

zu früh gefreut. Leider sind die labels nicht da. Also alles ist da, außer labels und beschriftungen von buttons z.B.

Hilfe :(
davalo
User
Beiträge: 6
Registriert: Mittwoch 6. August 2008, 18:51

Beitragvon davalo » Donnerstag 7. August 2008, 18:11

weiß jemand, warum die Labels nicht auftauchen? Ich meine, wundern tut es mich nicht, dennw enn ich in die kompilierte .ui-datei schaue, sehe ich nirgends, dass den Labels eine text-eigesnchaft zugewiesen wird.

Wie mache ich das denn manuell?
label_2 ist das label.

ich habe evrsucht:

self.label_2.setText("Hallo")

aber das geht nicht :cry:

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder