如何使wx工具栏按钮更大?

时间:2009-01-14 22:57:54

标签: python user-interface wxpython wxwidgets toolbar

我有一个wx.Toolbar,我想让按钮更大。我已经搜索过,似乎无法找到有关如何执行此操作的具体文档。

我也想知道这会跨平台转换得多好; OSX上的按钮和图标会发生什么?

3 个答案:

答案 0 :(得分:5)

这取决于你想要改变什么:是按钮的大小还是图标的大小?

要更改按钮的大小,请使用SetToolBitmapSize(例如24x24):

toolbar.SetToolBitmapSize((24, 24))

但这只会改变按钮的大小。如果要更改图标的大小,只需使用较大的图标即可。最简单的方法是使用wx.ArtProvider

wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, (24, 24))

所以,总结一下:

# Define the size of the icons and buttons
iconSize = (24, 24)

# Set the size of the buttons
toolbar.SetToolBitmapSize(iconSize)

# Add some button
saveIcon = wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, iconSize)
toolBar.AddSimpleTool(1, saveIcon, "Save", "Save current file")

备注:由于SetToolBitmapSize会更改按钮的大小,而不是图标的大小,因此您可以将按钮设置为大于图标。这应该在图标周围留下空白。

答案 1 :(得分:2)

工具栏的大小是否会自动适应位图图标的大小?我想如果你想要一个更大的工具栏,你需要更大的位图。

答案 2 :(得分:0)

在运行 python 3.9 和 wxpython 4.1.1 的 Mac OS X Big Sur 上。这个电话

toolbar.SetToolBitmapSize((24, 24))

不起作用。该算法似乎是与工具栏关联的图标的算法,wxPython 选择最大的一个并为所有其他图标设置该大小。