Вы можете добавить новый Gtk.Label
под кнопкой и устанавливать текст при каждом нажатии кнопки.
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class Okno(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Button Demo")
pozice = Gtk.Grid()
self.add(pozice)
#textnad oknem
self.vstup1 = Gtk.Label()
self.vstup1.set_text("Před textem")
pozice.attach(self.vstup1, 10,10,10,10)
# okno se vstupem
self.vstup = Gtk.Entry()
self.vstup.set_text("Můj vstupní text")
pozice.attach(self.vstup, 10,20,10,10)
#tlačítko potvrď
tlacitko = Gtk.Button.new_with_label("klikni")
tlacitko.connect("clicked", self.kliknuto)
pozice.attach(tlacitko, 10,30,10,10)
self.label = Gtk.Label()
pozice.attach(self.label, 10,40,10,10)
def kliknuto(self, tlacitko, pozice=()):
self.label.set_text("kliknuto")
okno = Okno()
okno.connect("destroy", Gtk.main_quit)
okno.show_all()
Gtk.main()
Если вы хотите добавлять текст в список при каждом нажатииКнопка и отображение записей, вы можете добавить свой текст в модель Gio.ListStore
и связать его с экземпляром Gtk.ListBox
и функцией, создающей Gtk.Label
каждый раз, когда вы нажимаете на кнопку. Смотрите ниже:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject, Gio
class Okno(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Button Demo")
pozice = Gtk.Grid()
self.add(pozice)
#textnad oknem
self.vstup1 = Gtk.Label()
self.vstup1.set_text("Před textem")
pozice.attach(self.vstup1, 10,10,10,10)
# okno se vstupem
self.vstup = Gtk.Entry()
self.vstup.set_text("Můj vstupní text")
pozice.attach(self.vstup, 10,20,10,10)
#tlačítko potvrď
tlacitko = Gtk.Button.new_with_label("klikni")
tlacitko.connect("clicked", self.kliknuto)
pozice.attach(tlacitko, 10,30,10,10)
self.listbox = Gtk.ListBox()
self.liststore = Gio.ListStore()
self.listbox.bind_model(self.liststore, self.create_widget_func)
pozice.attach(self.listbox, 10,40,10,10)
def kliknuto(self, tlacitko, pozice=()):
obj = My_Obj("kliknuto")
self.liststore.append(obj)
def create_widget_func(self, i):
return Gtk.Label(label = i.my_text)
class My_Obj(GObject.GObject):
my_text = GObject.Property(type = str)
def __init__(self, my_text):
GObject.GObject.__init__(self)
self.my_text = my_text
okno = Okno()
okno.connect("destroy", Gtk.main_quit)
okno.show_all()
Gtk.main()