Wie um zu zeigen, ein png-Bild in Gtk3 mit Python?

Zunächst ist es wichtig zu erwähnen, dass ich Lerne Python und Gtk+ 3, also ich bin nicht ein Fortgeschrittener Programmierer in diesen Sprachen.

Ich versuche eine grafische Oberfläche in Gtk3 für ein Python-Skript erstellt eine png Bild, und ich möchte, um es anzuzeigen, aber die PyGobject Dokumentation ist so knapp, dass ich noch keinen Weg gefunden, das zu tun. So weit, mein interface sieht wie folgt aus:

Wie um zu zeigen, ein png-Bild in Gtk3 mit Python?

Den Schaltflächen und text-Einträge werden in einem raster angeordnet wird, und ich möchte zu halten, leeren Sie den großen Platz (vertreten durch die big-button) rechts neben bis das Skript abgeschlossen ist Gebäude das Bild, und dann zeigen Sie es in diesem Bereich. Der code ist hier.

Gibt es eine Möglichkeit zu tun, dass die Verwendung von Python in Gtk3?

Vielen Dank im Voraus,

German.

BEARBEITEN

Sich ein Blick auf die demos aufgezeigt von @gpoo entdeckte ich die Rahmen - widget, und ich setzte es in meinem GUI. Dies ist, wie es aussieht:

Wie um zu zeigen, ein png-Bild in Gtk3 mit Python?

Innerhalb der window-Klasse, ich hinzufügen, dass der Rahmen mit dem raster:

self.frame_rgb = Gtk.Frame(label='RGB image')
self.frame_rgb.set_label_align(0.5, 0.5)
self.frame_rgb.set_shadow_type(Gtk.ShadowType.IN)
self.grid.attach_next_to(self.frame_rgb, self.label_img_name,
                         Gtk.PositionType.RIGHT, 3, 8)

Ich auch schließen Sie die Run-Taste, um eine callback-Funktion, so dass wenn ich auf mein Skript erstellt und dann zeigt das png-Bild:

self.button_run = Gtk.Button(stock=Gtk.STOCK_EXECUTE)
self.button_run.connect('clicked', self.on_button_run_clicked)
self.grid.attach_next_to(self.button_run, self.entry_b_img,
                         Gtk.PositionType.BOTTOM, 1, 1)

Schließlich, meine callback-Funktion ist (keine Berechnungen doch nur render das Bild, um den Rahmen für Testzwecke):

def on_button_run_clicked(self, widget):
    self.img = Gtk.Image.new_from_file('astro-tux.png')
    self.frame_rgb.add(self.img)

aber ich bekam die folgende Fehlermeldung, wenn ich auf die Schaltfläche "Ausführen":

(makeRGB.py:2613): Gtk-WARNING **: Attempting to add a widget mit
geben Sie GtkImage zu einem GtkFrame, aber als GtkBin Unterklasse eine GtkFrame können
enthalten nur einem widget zu einem Zeitpunkt; es enthält bereits ein widget von
geben Sie GtkImage

Jede Hilfe ist willkommen!

  • wenn Sie die vollständige diese können Sie veröffentlichen die Antwort
  • Die Antwort unten von @gpoo.
InformationsquelleAutor skytux | 2013-03-15
Schreibe einen Kommentar