Windows 7中wxPython中的图标影响菜单样式

0 投票
1 回答
528 浏览
提问于 2025-04-16 13:25

下面这段代码是用来创建一个从wx.Menu类继承的类,并给它添加菜单项。所以self基本上就是一个wx.Menu。当我运行下面的代码时,about.SetBitmap(wx.Bitmap('Icon24.ico'))这一行似乎把默认的高亮样式改成了:

enter image description here

变成了这种普通的蓝色样式:

enter image description here

这一行about.SetBitmap(wx.Bitmap('Icon24.ico'))只是添加了一个图标(测试用)。但是,不知道为什么它改变了高亮的样式。我知道这听起来有点挑剔,但我希望能把第一张图片的高亮样式和第二张图片的图标结合起来。如果这有影响的话,这是在Windows 7上进行的。

代码片段:

about =  wx.MenuItem(self, -1, 'About...')
about.SetBitmap(wx.Bitmap('Icon24.ico')) # The line that's causing the problem. 

itemlist = [self.AppendItem(about),
            self.AppendSeparator(),
            self.Append(-1, 'Options...'),
            self.AppendSeparator(),
            self.Append(-1, 'Exit')]

for i in itemlist:
    self.Bind(wx.EVT_MENU, self.menu_beh, i)

1 个回答

1

根据WxWidgets的文档,2.8版本不支持Windows Vista或7,所以这也是可以理解的,因为它似乎把整个菜单的样式都改回了XP的风格。我觉得你可以试试测试版的2.9版本,它支持Vista(但不支持7)。

撰写回答