Python - Панель инструментов с иконками включения / выключения - первый и второй растровые изображения wxGlade
Python - Панель инструментов с иконками включения / выключения - первый и второй растровые изображения wxGlade
Здравствуйте, где я могу найти образец простой панели инструментов с иконками включения / выключения?
Я могу сделать хорошую панель инструментов с помощью wxGlade, а также у меня есть изображение для каждого значка при включении и отключении ситуации, но я не могу понять, как включить / отключить значки по коду при запуске программы.
У wxGlade есть опция для "Первого растрового изображения" и "Второго растрового изображения"
Я думаю, что-то вроде: "Если bmpDisabled - это wx.NullBitmap, то теневая версия нормального растрового изображения создается и используется как отключенное изображение".
http://wxpython.org/docs/api/wx.ToolBarBase-class.html
где в теории Python сам делает теневую версию иконки, но у меня нет образца для изучения.
Пример моего кода:
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# generated by wxGlade 0.6.5 (standalone edition) on Tue Dec 11 21:54:42 2012
import wx
# begin wxGlade: extracode
# end wxGlade
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
# Tool Bar
self.frame_1_toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | wx.TB_TEXT)
self.SetToolBar(self.frame_1_toolbar)
self.frame_1_toolbar.AddLabelTool(1, "CUT", wx.Bitmap("editcut.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("editcutapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "CUT", "")
self.frame_1_toolbar.AddLabelTool(2, "EXIT", wx.Bitmap("exit.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("exitaapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "EXIT", "")
# Tool Bar end
self.__set_properties()
self.__do_layout()
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("frame_1")
self.frame_1_toolbar.Realize()
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
# end of class MyFrame
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
app.SetTopWindow(frame_1)
frame_1.Maximize()
frame_1.Show()
app.MainLoop()
Итак, как я могу отключить / включить
self.frame_1_toolbar.AddLabelTool(1, "CUT", wx.Bitmap("editcut.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("editcutapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "CUT", "")
1 ответ
Вы хотите отключить всю панель инструментов или кнопки в ней.
для каждого примера кнопки:
self.frame_1_toolbar.EnableTool (1, False) #.. отключить CUT, указав здесь идентификатор 1. Или включить кнопку True