Programmstart mit PyQt und Windows XP

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

Hallo,

eine evtl. dumme Frage ! ?

Wenn ich mein Progrämmchen (PyQt QWidget Fenster ) mit Hilfe einer Verknüpfung auf dem Desktop oder direkt über " Ausführen " starten möchte, erscheint kurz ein Fenster und dann wird es sofort wieder geschlossen.
Befehl zum Ausführen eigendlich normal :

@"C:\Python26\pythonw" "C:\Dokumente und Einstellungen\Administrator\Desktop\privat\Stahlaufmass-01\test11.py"

Was mach ich falsch ???
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

wie sieht denn eingentlich dein code aus?
starte den mal aus der console mit python (nicht pythonw), dann siehst du auch die fehlermeldung.
Zuletzt geändert von Dill am Montag 18. Mai 2009, 18:34, insgesamt 1-mal geändert.
http://www.kinderpornos.info
Benutzeravatar
snafu
User
Beiträge: 6880
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Vermutlich liegt es an deinem Test-Skript. Poste das doch mal bitte.
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

hmm ...
der meckert die Umlaute an, obwohl mit
# -*- coding:utf-8 -*- encodiert ! ??
Benutzeravatar
snafu
User
Beiträge: 6880
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Na, dann lass es halt...
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Tjoa ... vielleicht ist deine Datei eben nicht utf-8 kodiert. Aber meine Kristallkugel hat grad Schlieren.
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

... nicht so ungeduldig,

aber mit dem posten von 600 zeilen ist das nicht so einfach, geht nicht !

hier aber mein Programmkopf :

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: cp1252 -*-
# -*- coding: utf-8 -*- 

import sys
from PyQt4 import QtGui
from PyQt4 import QtCore


icon_path ="../icon_22x22/"
icon_biegeliste_path ="/icon_48x48_biegeformen/"
und hier die Eingabe der Umlaute, wie diese überall im Programm stehen :

Code: Alles auswählen

self.l_laenge = QtGui.QLabel("<font color = black size = 5>" + u"Länge/Abwicklung : " + "</font>", self.innenrahmen_bv_box)
        self.l_laenge.setGeometry(5,122,150,50)
BlackJack

Und wie sieht nun die Fehlermeldung aus, wenn Du das auf der Konsole startest?
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

Non-ASCII character '\xe4' in file ... on line 114, but no encoding declared

hier die Zeile 114 :

Code: Alles auswählen

self.label_4 = QtGui.QLabel(u'Länge/Abwicklung :')
Benutzeravatar
Traggger
User
Beiträge: 27
Registriert: Mittwoch 17. Dezember 2008, 11:33
Wohnort: Regensburg

Der mag das "ä" nicht!! Is bei mir auch ständig der Fall, Python mag Umlaute noch nicht mal in Kommentaren...

da ich aber meist in Englisch programmiere habe ich das Problem net so oft ;)...


edit:

aber anderer Seits habe ich jetzt mal die encoding Zeile hinzugefügt

Code: Alles auswählen

# -*- coding: utf-8 -*-
und das funktioniert...
There are 10 kinds of people. Those who understand binary notation, and those who do not.
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

ja, aber ich habe doch codiert und mit u = unicode den Text als Unicode dargestellt. Wie sonst kann ich in deutsch zumindestens Label beschriften ??

Das Programm läuft aber im Interpreter ohne Fehler durch !
halux
User
Beiträge: 11
Registriert: Samstag 28. März 2009, 17:06
Wohnort: Liesten

habe die coding zeile ausgetauscht
# -*- coding: utf-8 -*-

funktioniert immer noch nicht
Benutzeravatar
Traggger
User
Beiträge: 27
Registriert: Mittwoch 17. Dezember 2008, 11:33
Wohnort: Regensburg

Code: Alles auswählen

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtCore ,QtGui

class MainDialog(QtGui.QMainWindow):

    # constructor for the main dialog
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)

        w = QtGui.QWidget()
        self.setCentralWidget(w)
        
        __layout = QtGui.QGridLayout()
        
        self.l_laenge = QtGui.QLabel("<font color = black size = 5>" + u"Länge/Abwicklung : " + "</font>")
        
        __layout.addWidget(self. l_laenge)
        
        w.setLayout(__layout)

# MAIN routine
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    dialog = MainDialog()
    dialog.show()
    sys.exit(app.exec_())
Also das funktioniert bei mir und zeigt das "ä" sauber an...
There are 10 kinds of people. Those who understand binary notation, and those who do not.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Um das nochmal klar zu stellen, da du offensichtlich keine Ahnung hast - die zwei Encodingzeilen beweisen das.
Die Encodingzeile gibt an mit welchem Encoding die Datei codiert ist. Mit dem Codec wird dann das Script decodiert und deshalb muss die angegebene Codierung auch der tatsächlichen entsprechen.
Dass es an den Umlauten knallt zeigt, dass das Encoding eben nicht utf-8 ist. Wenn du Windows benutzt und von Unicode redest, benutzt du höchst wahrscheinlich `utf-16`.
Antworten