PyGTK - nie działające set_label

0

Cześć

Od wczoraj męczę się z pewnym problemem, mianowicie chciałbym utworzyć toolbar, w którym miałbym toolbuttony z ikonką ze standardowych i opis.

W dokumentacji mam taki konstruktor:
gtk.ToolButton(icon_widget=None, label=None)
Żródło: Dokumentacja

Mój kod:

 
import gtk

class PyApp(gtk.Window):

    def __init__(self):
        super(PyApp, self).__init__()

        self.set_title("Toolbar")
        self.set_size_request(250, 200)
        self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
        self.set_position(gtk.WIN_POS_CENTER)
        self.connect("destroy", gtk.main_quit)
        toolbar = gtk.Toolbar()
        toolbar.set_style(gtk.TOOLBAR_BOTH_HORIZ) # coby w toolbar istnialy sobie ikonki z napisem obok horyzontalnie

        # pierwszy sposob
        iconw = gtk.Image()
        iconw.set_from_stock(gtk.STOCK_PASTE, 2)
        self.undo = gtk.ToolButton(iconw, "label")
        
        # drugi sposob
        self.redo = gtk.ToolButton(gtk.STOCK_REDO)
        self.redo.set_label("label")

        toolbar.insert(self.undo, 0)
        toolbar.insert(self.redo, 0)

        vbox = gtk.VBox(False, 2)
        vbox.pack_start(toolbar, False, False, 0)

        self.add(vbox)

        self.show_all()

PyApp()
gtk.main()

Problem w tym, że ten konstruktor zdaje się nie działać!

1

The set_is_important() method sets the "is-important" property to the value of is_important. If is_important is True the tool item should be considered important. The gtk.ToolButton class uses this property to determine whether to show its label when the toolbar style is gtk.TOOLBAR_BOTH_HORIZ. The result is that only tool buttons with the "is_important" property set have labels, an effect known as "priority text".

Czytanie dokumentacji nie boli!

0

Ok, my bad, ale dzięki za odpowiedź.

Coby zostawić jakiś ślad zamieszczę kod rozwiązujący problem, może jeszcze komuś się przyda.

import gtk

#
# Solution: https://mail.gnome.org/archives/gtkmm-list/2004-June/msg00111.html
#

class PyApp(gtk.Window):

    def __init__(self):
        super(PyApp, self).__init__()

        self.set_title("Toolbar")
        self.set_size_request(250, 200)
        self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
        self.set_position(gtk.WIN_POS_CENTER)

        toolbar = gtk.Toolbar()
        #toolbar.set_style(gtk.TOOLBAR_ICONS)
        toolbar.set_style(gtk.TOOLBAR_BOTH_HORIZ)
        #toolbar.set_style(gtk.TOOLBAR_TEXT)

        iconw = gtk.Image()
        iconw.set_from_stock(gtk.STOCK_CLOSE, 2)
        newtb = gtk.ToolButton(iconw, "label")
        newtb.set_is_important(True)

        opentb = gtk.ToolButton(gtk.STOCK_OPEN)
        savetb = gtk.ToolButton(gtk.STOCK_SAVE)
        sep = gtk.SeparatorToolItem()
        quittb = gtk.ToolButton(gtk.STOCK_QUIT)

        toolbar.insert(newtb, 0)
        toolbar.insert(opentb, 1)
        toolbar.insert(savetb, 2)
        toolbar.insert(sep, 3)
        toolbar.insert(quittb, 4)
        
        quittb.connect("clicked", gtk.main_quit)

        vbox = gtk.VBox(False, 2)
        vbox.pack_start(toolbar, False, False, 0)

        self.add(vbox)

        self.connect("destroy", gtk.main_quit)
        self.show_all()
        
        
PyApp()
gtk.main()

1 użytkowników online, w tym zalogowanych: 0, gości: 1