2010-12-22 12 views
1

Ich habe ein Python/GTK-Projekt, an dem ich schon eine Weile gearbeitet habe, und einige der Funktionen, die ich möchte, gibt es bereits in Gnome-Panel-Applets. Basierend auf meiner Lektüre befinden sich Panel-Applets bereits in einer Unterklasse des Standard-GTK-Bin. Daher würde ich meinen, dass ich die C-basierten GTK-Objekte in meiner Python-basierten Anwendung verwenden könnte.Ein C-Applet in eine Python-App (GTK) integrieren

Zum Beispiel habe ich den Fisch-Applet bekam in/usr/lib/gnome-panel/Fisch-Applet-2 als binäre

Kann ich einige GTK Magie tun, um dieses Objekt zu erhalten, so dass es sein kann, eingebettet in meine Python/GTK-GUI?

Ich erwarte keine Schritt-für-Schritt-Anleitung, aber wenn mir jemand in die richtige Richtung zeigen könnte, würde ich es begrüßen.

Antwort

1

Der Code für Applets in gnome-Panel ist ziemlich komplex. Es basiert auf dem Gnome-Bonobo-Framework (welches wiederum auf CORBA basiert). Aber jetzt ist das Ganze im Fluss, weil Gnome sich von Bonobo zu einem neuen dbus-basierten Design bewegt. Wenn also vorhandene Gnome-Panel-Applets geladen werden, sollten Sie unbedingt den Code von gnome panel verwenden. Es gibt (oder war zumindest) ein Beispielprogramm, das nur ein Applet in ein Fenster lädt.

Wenn Sie ein Widget aus einem Ihrer eigenen Programme (ein benutzerdefiniertes Applet) in einem anderen Ihrer Programme anzeigen möchten, ist es viel einfacher. Zu diesem Zweck gibt es eine Reihe von Widgets namens GtkSocket und GtkPlug. Natürlich müssen die Programme nicht auf demselben Rechner laufen. Aber es gibt immer das heikle Problem, sie zusammenzubringen.