我有一个基于wxPython的应用程序,但其中一个工具栏遇到了麻烦。它最初是针对wxPython 2.8.10 / Python 2.6编写的,但当前与wxPython 4.0.4 / Python 2.7.15一起运行。
工具栏包含(16,16)和(32,32)位图。启用所有功能后,所有位图均可正常显示。但是,任何禁用的位图看起来都试图在其空间的左上角(16,15)渲染。我尝试切换为调用(16,16)位图,并尝试将bmpDisabled设置为各种值,并更改工具栏上的SetToolBitmapSize,但似乎没有任何方法可以解决该问题。
启用时工具栏呈现的示例
禁用第一个(16,16)和第三个(32,32)工具栏的示例。第二(16,16)仍然启用。
代码很简单:
self._tb = self.CreateToolBar()
self._tb.SetToolBitmapSize((32,32))
image = getTransparentwxBitmap("icons/foo.bmp")
item = self._tb.AddCheckTool(self.TB_FOO_ID, "", image, wx.NullBitmap, "Foo Panel", "Show/Hide the foo panel")
self._tb.Bind(wx.EVT_TOOL,self.onToolClick,item)
self._tb.EnableTool(self.TB_FOO_ID,False)
image = getTransparentwxBitmap("icons/bar.bmp")
item = self._tb.AddCheckTool(self.TB_BAR_ID, "", image, wx.NullBitmap, "Bar Panel", "Show/Hide the bar panel")
self._tb.Bind(wx.EVT_TOOL,self.onToolClick,item)
self._tb.EnableTool(self.TB_BAR_ID,False)
imgPath = "images/baz.png"
image = wx.Bitmap(imgPath)
item = self._tb.AddTool(self.TB_BAZ_ID, "", image, shortHelp="BAZ Tool")
self._tb.EnableTool(self.TB_BAZ_ID, False)
.
.
.
other tools
.
.
.
self._tb.Realize()
有什么想法吗?