Больше разочарований в wxPython — панели инструментов

#python #macos #wxpython #toolbar

#python #macos #wxpython #панель инструментов

Вопрос:

Я пытаюсь добавить панель инструментов в окно, которое может содержать 128-пиксельные png (код ниже). Я могу показать все, но, похоже, я просто не могу изменить размер значков. Я наткнулся на похожий пост и попробовал предложенный им подход для решения проблемы, но безрезультатно.

Интересно удалить строку в конце:

self.SetToolBar (панель инструментов)

увеличивает размер значка, но затем я теряю более приятное форматирование, полученное с помощью вызова SetToolbar(). В случае, если это имеет значение, я использую mac OS-X snow Leopard / python2.7

 import wx

class Example(wx.Frame):
    def __init__(self, parent, title): 
        super(Example, self).__init__(parent, title=title,size=(400, 350))

        self.InitUI() 
        self.Centre() 
        self.Show()

    def InitUI(self):

        self.panel = wx.Panel(self)

        toolbar = wx.ToolBar(self, size=(-1, 128))
        toolbar.SetToolBitmapSize((128,128))


        bmp2 = wx.ArtProvider.GetBitmap(wx.ART_ADD_BOOKMARK, wx.ART_OTHER, (128,128))

        toolbar.AddLabelTool(-1, label="Add", bitmap=bmp2, 
                                         shortHelp="Add", kind=wx.ITEM_NORMAL)

        toolbar.Realize()
        self.SetToolBar(toolbar)



if __name__ == '__main__':

    app = wx.App() 
    Example(None, title='') 
    app.MainLoop()
  

Комментарии:

1. В Windows я получаю БОЛЬШУЮ иконку-кнопку.

2. 1 для ВЫПОЛНЯЕМОГО примера wxpython, включенного в вопрос.

3. Похоже, тогда это может быть mac

Ответ №1:

Если это проблема Mac, вы можете обойти ее, создав свою собственную панель инструментов с помощью panel, sizer и набора BitmapButtons. Я бы подумал, что это сработает для вас.