PyGTK: добавление текста поверх виджетов - PullRequest
0 голосов
/ 28 августа 2010

Я разрабатываю приложение GTK и хотел бы печатать некоторые сообщения поверх существующих виджетов, а не отображать их в строке состояния, подобно тому, как это делает Менделей, когда документ не выбран:

alt text

(в отличие от того, что отображается на правой панели при выборе документа:)

alt text

Если я динамически создаю панель, пометьте, ... с соответствующим сообщением и уничтожить его при необходимости, или есть более простой / лучший способ?

1 Ответ

2 голосов
/ 28 августа 2010

Вам не нужно уничтожать ярлык, даже ничто не заставляет вас это делать, и не создавайте его динамически. Вы можете создать это, когда вам это нужно, или поляна может сделать это для вас. Это минимальный пример, но, как вы заметили, обе метки создаются только один раз.

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