PyGTK:在小部件上添加文本

时间:2010-08-28 12:11:11

标签: python gtk pygtk

我正在开发一个GTK应用程序,并希望在现有小部件上打印一些消息而不是在状态栏中显示它们,有点像Mendeley在没有选择文档时这样做的方式:

alt text

(与选择文档时右窗格中显示的内容相反:)

alt text

我是否应该使用适当的消息动态创建面板,标签......并在需要时将其销毁,或者是否有更简单/更好的方式?

1 个答案:

答案 0 :(得分:2)

你不需要破坏标签,即使没有强迫你这样做,也不需要动态创建它。您可以在需要时创建它,或者林间空地可以为您完成。这是一个最小的例子,但是,正如您所注意到的,两个标签只创建一次。

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()