Elemente in einem Grid oder einer Tabelle vertauschen
Verfasst: Donnerstag 20. November 2014, 17:16
Ich habe mit Glade eine Oberfläche erstellt. Es enthält u.a. ein Grid.
Je nach Startparameter sollen dort 2 Button vertauscht werden. Eigentlich ganz einfach - dachte ich.
Zum Testen habe ich das Programm auf ein Minimum vereinfacht:
Was funktioniert, ist dass das neue Label in Zeile 14 eingefügt wird. Jedoch ohne die gewünschte Ausrichtung eines bestehenden Labels.
Wenn ich aber über die Funktion on_insert_clicked einen Label einfügen will oder über on_change_clicked die Label tauschen möchte,
bekomme ich nur eine Fehlermeldung:
(table.py:8395): Gtk-CRITICAL **: gtk_grid_attach: assertion `gtk_widget_get_parent (child) == NULL' failed
Was mache ich falsch? Wo muss ich ansetzen?
Ach ja: Python 3.2.3 auf Debian
Je nach Startparameter sollen dort 2 Button vertauscht werden. Eigentlich ganz einfach - dachte ich.
Zum Testen habe ich das Programm auf ein Minimum vereinfacht:
Code: Alles auswählen
from gi.repository import Gtk, GObject
class Table:
def __init__(self):
self.wTree = Gtk.Builder()
self.wTree.add_from_file("table.glade");
self.wTree.connect_signals(self)
self.window = self.wTree.get_object("window")
tab = self.wTree.get_object('grid1')
just = self.wTree.get_object('label1').get_justify()
label = Gtk.Label('Test')
label.set_justify(just)
label.show()
tab.attach(label, 0, 1, 1, 2)
self.window.show_all()
Gtk.main()
def on_exit_clicked(self,widget):
Gtk.main_quit()
def on_change_clicked(self,widget):
tab = self.wTree.get_object('grid1')
l1 = self.wTree.get_object('label1')
l2 = self.wTree.get_object('label2')
tab.attach(l2, 0, 1, 0, 1)
tab.attach(l1, 2, 3, 0, 1)
def on_insert_clicked(self,widget):
tab = self.wTree.get_object('grid1')
l1 = self.wTree.get_object('label')
tab.attach(l1, 1, 2, 1, 2)
Table()
Wenn ich aber über die Funktion on_insert_clicked einen Label einfügen will oder über on_change_clicked die Label tauschen möchte,
bekomme ich nur eine Fehlermeldung:
(table.py:8395): Gtk-CRITICAL **: gtk_grid_attach: assertion `gtk_widget_get_parent (child) == NULL' failed
Was mache ich falsch? Wo muss ich ansetzen?
Ach ja: Python 3.2.3 auf Debian