我目前在Python上使用gtk来创建一些图形界面。我正在努力解决一个小问题:我想在笔记本的几个页面上显示一个gtk.widget(例如HBox或Button),但我无法成功。小部件只显示在使用它的第一页上,但从未显示在下面的页面上。我已经尝试了重新设置方法,但是出现了问题,小部件只显示在最后一个。Python Gtk:如何在同一个笔记本的不同页面上使用相同的小部件?
import gtk
w = gtk.Window(gtk.WINDOW_TOPLEVEL)
w.connect("destroy", gtk.main_quit)
w.set_title("Some tests")
legnth = 850
width = 700
w.set_size_request(length, width)
VBoxWindow = gtk.HBox()
hbox1 = gtk.HBox()
notebook1 = gtk.Notebook()
page1 = gtk.Notebook()
page12 = gtk.VBox()
page13 = gtk.VBox()
page14 = gtk.VBox()
page1.append_page(page12, gtk.Label(' PAGE1 ')
page1.append_page(page13, gtk.Label(' PAGE2 ')
page1.append_page(page14, gtk.Label(' PAGE3 ')
box1 = gtk.VBox()
button1 = gtk.Button("BTN 1")
box1.pack_start(button1, True, True, 5)
page12.pack_start(box1, False, False, 5)
box2 = gtk.VBox()
box2.pack_start(button1, True, True, 5)
page13.pack_start(box2, False, False, 5)
# reparenting method test
#box3 = gtk.VBox()
#button1.reparent(box3)
#box3.pack_start(button1, True, True, 5)
#page13.pack_start(box3, False, False, 5)
page1.props.border_width = 12
page1.add(page12)
page1.add(page13)
notebook1.append_page(page1, gtk.Label('Some MAIN Page'))
VBoxWindow.add(notebook1)
w.add(VBoxWindow)
displayReady = True
w.show_all()
gtk.main()
请添加你迄今为止所做的。如果不对,请不要留意。所有我需要的是你想要做什么的概述。 –
@ChihebNexus是的,这里是我要做的代码的精神 –
@ G.Esel你究竟做了什么?为什么它不能在你的情况下创建重复的小部件?更少的代码可能? – theGtknerd