PyGTK:在小部件上添加文本
我正在开发一个GTK应用程序,想在现有的控件上打印一些消息,而不是把它们显示在状态栏里。这样做有点像Mendeley在没有选择文档时的显示方式:
(这和当你选择一个文档时右侧面板上显示的内容不同:)
我应该动态创建一个面板、标签等来显示合适的消息,并在需要时销毁它,还是有更简单或更好的方法呢?
1 个回答
2
你不需要去销毁这个标签,实际上也没有什么强制你这么做的,也不需要动态创建它。你可以在需要的时候再创建这个标签,或者使用glade工具来帮你创建。这只是一个简单的例子,但你会发现,这两个标签只被创建了一次。
import gtk
labels = []
def changeLabel(widget):
l = p.get_children()[1]
p.remove(l)
nl = labels[l is l1]
p.add2(nl)
w = gtk.Window()
w.connect('destroy', lambda w: gtk.main_quit())
p = gtk.HPaned()
w.add(p)
b = gtk.Button('change label')
b.connect('clicked', changeLabel)
p.add1(b)
l1 = gtk.Label('hello world')
l1.show()
p.add2(l1)
l2 = gtk.Label('ciao mondo')
l2.show()
labels = [l1, l2]
which = 0
w.show_all()
gtk.main()