2011-01-31 3 views
0

Так что я использовал объект gtk.Toolbar и использовал метод append_item, но получал предупреждение об устаревании. Поэтому я попробовал метод insert_item и получил предупреждение об устаревании. Поэтому я попытался создать gtk.ToolButto n отдельно, а затем с помощью метода insert, чтобы добавить его, который избавился от предупреждения, но теперь панель инструментов (которая отлично работала раньше) не появляется вообще и ошибок не производится !!! Каков правильный способ сделать это, потому что я понятия не имею?gtk.Toolbar предупреждение об отказе от устаревания

Вот пример кода. У меня есть 3 панели инструментов, поэтому я публикую только 1, на котором есть только 1 кнопка.

vBox = gtk.VBox(False, 0) 
    vBox.set_size_request(400,500) 
    vBox.set_border_width(2) 
    vBox.show() 
    prefWin.add(vBox) 

    bar = gtk.Toolbar() 
    bar.show() 
    vBoxFix = gtk.VBox(False,0) 
    vBoxFix.pack_end(bar,False,False,0) 
    vBoxFix.show() 
    vBox.pack_end(vBoxFix,False,False,0) 

    closeButt =gtk.ToolButton(None,'Close') 
    closeButt.connect('clicked',self.notYet) 
    closeButt.show() 
    bar.insert(closeButt,0) 

ответ

2

Метод insert представляется правильным. Уверены ли вы в show панели инструментов где-нибудь, возможно, используя метод родительского метода show_all? И если это так, вы упаковали панель инструментов в окно в окне, чтобы убедиться, что на самом самом окне есть предка панели инструментов?

+0

Я сделал все вышеперечисленное (как вы можете видеть в примере кода, который я добавил), и я получаю панель инструментов, но на ней нет кнопок. На другой панели инструментов, содержащей больше кнопок (все с использованием старого метода), я попытался изменить только первую кнопку этого метода, и все кнопки и виджеты на ней исчезли. – user381261

+0

Я добавил несколько лесов и получил ваш пример для работы с несколькими модификациями: см. Http://pastebin.com/hhyT00u2. Ваши основные проблемы, похоже, состоят в том, что вы, возможно, делали вещи в неправильном порядке и/или вам приходилось устанавливать стиль для панели инструментов, прежде чем использовать таким образом. – farfromhome

+0

Казалось, это вопрос порядка. Я также пробовал, не используя кнопку запаса (так как у меня есть другие, которые не являются запасом) и заставил его работать. Раньше я работал с ним другим способом, поэтому я не думал, что заказ был проблемой. Благодарю. – user381261