Ist dieser GObject-Fehler eigentlich "normal"?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich nutze hier das aktuelle Release von Ubuntu und selbst bei einer Minimalanwendung mit PyQt bekomme ich von GObject eine CRITICAL und eine WARNING Meldung im Terminal, sobald ich das Fenster geschlossen habe. Zunächst der Code:

Code: Alles auswählen

import sys
from PyQt4 import QtGui

def main(args=[]):
    app = QtGui.QApplication(args)
    window = QtGui.QWidget()
    window.show()
    return app.exec_()

if __name__ == '__main__':
    sys.exit(main(sys.argv))
Und hier die Ausgabe im Terminal:

Code: Alles auswählen

urx@murx> python apptest.py                                                   ~

(<unknown>:2377): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GObject'

(<unknown>:2377): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
Soll ich das ignorieren oder mache ich etwas falsch? Übrigens, wenn ich das PyQt durch ein PySide ersetze, kommt kein Fehler.
Zuletzt geändert von snafu am Donnerstag 3. Februar 2011, 10:44, insgesamt 1-mal geändert.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein. Vor allem nicht, wenn man Qt/Kde nutzt.

Kann es sein, dass du einen Gtk Stil fuer obiges nutzt?
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

cofi hat geschrieben:Nein. Vor allem nicht, wenn man Qt/Kde nutzt.
Ich nutze, wie du sicher schon vermutest, Gnome.
cofi hat geschrieben:Kann es sein, dass du einen Gtk Stil fuer obiges nutzt?
Keine Ahnung. Selbst eingestellt habe ich nichts. Zumindest nicht, dass ich wüsste. Ist PyQt unter Ubuntu eventuell so vorkonfiguriert?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mit Qt/KDE meinte ich, die Libraries, nicht die Umgebung. Die nutzen ja keine GLIB und kein GTK.
Nein nicht PyQt, sondern wahrscheinlich Qt, damit die Fenster "einheitlich" aussehen.

Also ja: Wenn du Ubuntu nutzt, hast du wahrscheinlich einen GTK-Stil fuer Qt.
lunar

@cofi: Die Ursache dieser Fehlermeldungen kann ich nicht bieten, rate jedoch dazu, sie einfach zu ignorieren. Dergleichen ist bei Gtk-Anwendungen auch nicht ungewöhnlich.

Im Übrigen muss das nicht an einem Gtk-Stil liegen. Neuere Qt-Versionen nutzen intern glib für bestimmte Zwecke.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

cofi hat geschrieben:Mit Qt/KDE meinte ich, die Libraries, nicht die Umgebung. Die nutzen ja keine GLIB und kein GTK.
Doch, Qt nutzt soweit ich das weiß die glib-mainloop. Von daher kann es durchaus sein, dass da Fehler von Glib kommen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wohl erst ab 4.7, denn die 4.6 Pakete haben auf meinem Sid keine libglib Abhaengigkeiten, aber gut zu wissen.
lunar

@cofi: Nein, bereits seit 4.2, und laut http://packages.debian.org hängen "libqtgui4" und "libqtcore4" durchaus von "libglib2.0" ab.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hm, naja. Also wie schon oben geschrieben (dazueditiert) kommt der Fehler mit PySide nicht. Da ist die Erklärung mit dem Gtk-Stil oder Glib-Mainloop etwas fragwürdig. Oder aber, PySide "verschluckt" diese Meldungen ganz einfach. Naja, sooo furchtbar dramatisch ist das alles natürlich nicht. Scheint laut Google wohl bei vielen anderen Anwendungen auch vorzukommen, so dass ich zumindest sagen kann, dass der Fehler offensichtlich nicht an meinem Code oder einer von mir getätigten Fehleinstellung liegt. Und das ist im Prinzip das, was mich interessiert hatte.
lunar

@snafu: Was sagt es denn schon aus, dass dieser "Fehler" unter PySide nicht auftritt? Meines Erachtens gar nichts, denn diese Meldungen können auch durch ganz subtile Unterschiede hervorgerufen werden, und die Unterschiede zwischen PySide und PyQt sind alles andere als subtil :)
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Es sagt prinzipiell erstmal nur aus, dass man keine Fehlerausgabe sieht. Ob tatsächlich kein Fehler auftritt bzw ob er im PySide-Projekt bewusst nicht verursacht wird, ist natürlich nicht sicher. Ich dachte, das wäre in dem nachstehenden Satz von mir auch so rübergekommen.
Antworten