Hallo alle,
ich brauch mal wieder Hilfe bei zwei Problemen.
Das erste Problem äußert sich dadurch, dass beim Herunterfahren mein Ubuntu sich meldet, dass ein Programm noch läuft und ob trotzdem heruntergefahren werden soll. Dieses Fenster erscheint, obwohl ich alle Programme geschlossen habe. Nun bin ich darauf gekommen, dass es an meinem Programm liegt. Die Meldung erscheint aber nur wenn ich mein Programm durch das "x" (oben-rechts) schließe. Weiß jemand woran das liegt bzw. wie ich das Problem lösen kann?
Die zweite Frage hängt mit der ersten schon fasst zusammen, denn in der Meldung ist immer nur die Rede von einem "unbekannten Programm". Auch unter Windows hat das Programm im System wohl keine Bezeichnungen. Kann mir jemand sagen, wie ich für ein Programm den Namen, Autor... angeben kann? Ich hab in der SuFu gesucht, weiß aber nicht wonach ich suchen soll.
Liebe Grüße
Fehler beim Schließen der Fenster
Die Ursache für dieses Problem kann vielfältig sein. Ohne Quelltext kann man nichts dazu sagen.
Windows nutzt iirc die Metadaten der ausführbaren Datei zur Identifizierung. Damit Dein Programm nicht unbekannt ist, musst Du folglich eine ausführbare Datei mit korrekten Metadaten daraus erstellen. Wie Ubuntu Programme identifiziert, weiß ich nicht. Im Allgemeinen gibt es unter Linux keine Metadaten für ausführbare Dateien. Wahrscheinlich wird Ubuntu die Angaben in der Desktop-Datei des Programms machen. Damit Dein Programm unter Ubuntu nicht mehr unbekannt ist, musst Du eine Desktop-Datei erstellen, und ordentlich installieren.
Windows nutzt iirc die Metadaten der ausführbaren Datei zur Identifizierung. Damit Dein Programm nicht unbekannt ist, musst Du folglich eine ausführbare Datei mit korrekten Metadaten daraus erstellen. Wie Ubuntu Programme identifiziert, weiß ich nicht. Im Allgemeinen gibt es unter Linux keine Metadaten für ausführbare Dateien. Wahrscheinlich wird Ubuntu die Angaben in der Desktop-Datei des Programms machen. Damit Dein Programm unter Ubuntu nicht mehr unbekannt ist, musst Du eine Desktop-Datei erstellen, und ordentlich installieren.
-
- User
- Beiträge: 117
- Registriert: Dienstag 7. April 2009, 13:40
Könnte es vielleicht an der Art, weise liegen, wie ich die Oberfläche starte?
Der Code eines vereinfachten Programmes:
Eine Desktop-Datei habe ich auf jeden Fall erstellt - sie wird automatisch in folgendes Verzeichnis gespeichert:
/usr/share/applications
Liebe Grüße
Der Code eines vereinfachten Programmes:
Code: Alles auswählen
# -*- coding: utf-8 -*-
import sys, os, datetime, sqlite3
import database.database
from PyQt4 import QtGui, QtCore
from erinnerung import Ui_Dialog as Dlg
date_today = datetime.date.today()
FILENAME = ('database.sdb3')
conn = sqlite3.connect(FILENAME)
class MeinDialog(QtGui.QDialog, Dlg):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
self.setWindowIcon(QtGui.QIcon('b3_icon.ico'))
self.connect(self.button, QtCore.SIGNAL('clicked()'), self.start_vtb)
app = QtGui.QApplication(sys.argv)
dialog = MeinDialog()
dialog.show()
sys.exit(app.exec_())
/usr/share/applications
Liebe Grüße
-
- User
- Beiträge: 117
- Registriert: Dienstag 7. April 2009, 13:40
Tud mir leid, den fehler hab ich gemacht, weil ich unwichtiges rausgenommen hab, damit es übersichtlich bleibt. Der lauffähige Code:
Wenn ich das Fenster lösche wird folgendes zurückgegeben:
Hilft das?
Code: Alles auswählen
# -*- coding: utf-8 -*-
import sys, os, datetime, sqlite3
from PyQt4 import QtGui, QtCore
from erinnerung import Ui_Dialog as Dlg
class MeinDialog(QtGui.QDialog, Dlg):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
app = QtGui.QApplication(sys.argv)
dialog = MeinDialog()
dialog.show()
sys.exit(app.exec_())
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\Jonathan\Desktop\sd.py", line 16, in <module>
sys.exit(app.exec_())
SystemExit: 0
Das ist kein Fehler, sondern die Ausnahme, die "sys.exit()" auslöst, um das Programm zu beenden. Normalerweise behandelt der Interpreter diese Ausnahme und beendet sich. Bei Dir allerdings wird die Ausnahme offenbar irgendwo abgefangen und ausgegeben. Deswegen beendet sich der Interpreter auch nicht.
Wie startest Du denn dieses Skript?
Wie startest Du denn dieses Skript?
-
- User
- Beiträge: 117
- Registriert: Dienstag 7. April 2009, 13:40
Das Skript wird durch ein shell script (Befehl:python mein_skript.py), welches wiederum von einer desktop-Datei gestartet wurde, gestartet. Verständlich? =)
Das der Fehler kein Fehler ist, ist schonmal gut zu wissen! Vielen Dank!
Das der Fehler kein Fehler ist, ist schonmal gut zu wissen! Vielen Dank!
-
- User
- Beiträge: 117
- Registriert: Dienstag 7. April 2009, 13:40
Genau das ist mein Fehler oder? Das ist misst dass die Desktop-Datei einem "zwischenscript" zugeordnet ist.
Das Problem mit dem herunterfahren habe ich wahrscheinlich schon anders gelöst. Undzwar war meine desktop-Datei nicht als ausführbar gekennzeichnet. Das habe ich schnell geändert und soweit ich das bis jetzt sehen kann, ist das Problem bis jetzt nicht nochmal aufgetaucht...
Das Problem mit dem herunterfahren habe ich wahrscheinlich schon anders gelöst. Undzwar war meine desktop-Datei nicht als ausführbar gekennzeichnet. Das habe ich schnell geändert und soweit ich das bis jetzt sehen kann, ist das Problem bis jetzt nicht nochmal aufgetaucht...
-
- User
- Beiträge: 117
- Registriert: Dienstag 7. April 2009, 13:40
Noch ein Nachtrag: Durch das ausführbar machen der desktop-Datei ist das Problem beim Herunterladen vollständig gelöst wurden.
Zu dem Problem mit den Namen des Programmes unter Windiows: Es gibt die möglichkeit in der setup.py Datei bei der Benutzung von py2exe Metadaten und so anzugeben.
Viel Glück allen mit dem gleichen Problem
Zu dem Problem mit den Namen des Programmes unter Windiows: Es gibt die möglichkeit in der setup.py Datei bei der Benutzung von py2exe Metadaten und so anzugeben.
Viel Glück allen mit dem gleichen Problem