Найти - Пользователи
Полная версия: Gtk.Box() нединамическое полотно?
Начало » GUI » Gtk.Box() нединамическое полотно?
1
MetalHead
Добрый день. Python GTK+ 3 не желает обновлять полотно. Может так задумано или это баг? Переделал вариант с оффициальной документации
from gi.repository import Gtk 
class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World")
        self.box = Gtk.Box(spacing=6)
        self.add(self.box)
        self.button1 = Gtk.Button(label="Hello")
        self.button1.connect("clicked", self.on_button1_clicked)
        self.box.pack_start(self.button1, True, True, 0)
        
    def on_button1_clicked(self, widget):
        print("Hello")
    def on_button2_clicked(self, widget):
        print("Goodbye")
        self.button2 = Gtk.Button(label="Goodbye")
        self.button2.connect("clicked", self.on_button2_clicked)
        self.box.pack_start(self.button2, True, True, 0)
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
b_oss
Это не баг. Как вы задумали, так приложение и работает.
Я не экстрасенс, но мне кажется что вы желали чтобы по нажатию копки с надписью “Hello”, в окне добавлялась еще одна кнопка. Если это так, тогда вам нужно стоки
self.button2 = Gtk.Button(label="Goodbye")
self.button2.connect("clicked", self.on_button2_clicked)
self.box.pack_start(self.button2, True, True, 0)
перенести в обработчик
def on_button1_clicked(self, widget):
и добавить
self.button2.show()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB