wxPython:状态栏不会在 wxToolBar 的长期帮助下更新

Posted

技术标签:

【中文标题】wxPython:状态栏不会在 wxToolBar 的长期帮助下更新【英文标题】:wxPython: StatusBar does NOT update with long help from wxToolBar 【发布时间】:2010-12-18 00:44:34 【问题描述】:

我正在 wx.Frame init 中创建一个 ToolBar 并按如下方式设置帮助字符串:

def __init_(self,...):
   ...
   self.CreateStatusBar()
   tb = self.CreateToolBar(wx.TB_HORIZONTAL|wx.NO_BORDER|wx.TB_FLAT)
   tb.SetToolBitmapSize((32,32))
   tb.SetSize((-1,132))
   tb.AddTool(ID_CLASSIFIER, bmp, shortHelpString='Classifier', longHelpString='Launch Classifier')
   ...
   tb.Realize()

--然而,当我将鼠标悬停在工具栏图标上时,状态栏没有得到更新。将 PlateButtons 添加到工具栏而不是使用 AddTool 时,我遇到了同样的问题。有谁知道我做错了什么?

编辑:刚刚在 Windows 上进行了测试,它可以工作。原来这是一个Mac特定的问题。也就是说,我仍在寻找解决方案。

谢谢, -亚当

【问题讨论】:

【参考方案1】:

我在我的代码中使用了 AddLabelTool,它确实在状态栏上显示了帮助文本:

toolbar.AddLabelTool(self.id, '', bitmap, wx.NullBitmap, self.kind, 
                     shortHelp=wx.MenuItem.GetLabelFromText(self.menuText),
                     longHelp=self.helpText)

【讨论】:

原来这在我的 Mac 上也不起作用(OSX 10.5.8)。看起来我需要处理鼠标事件了。 你使用的是哪个 wxPython 版本?

以上是关于wxPython:状态栏不会在 wxToolBar 的长期帮助下更新的主要内容,如果未能解决你的问题,请参考以下文章

wxPython:如何在状态栏中放置额外的小部件?

如何在wxpython中状态栏的特定字段中放置进度条?

线程、wxpython 和状态栏

python解压缩文件并提供更新到wxPython状态栏

wxpython 创建工具栏和菜单栏

删除wxPython小部件之间的填充