osx中没有显示wxpython工具栏

时间:2016-09-01 02:07:22

标签: python wxpython

我有一个使用wxpython的GUI的python脚本。它在Windows中运行得非常好,但是,当我在OS X中运行脚本时,现在显示工具栏(我从其官方网站安装了wxpython并使用了cocoa版本,我使用的是OS X 10.10和python 2.7)。以下是有关工具栏的代码部分:

self.toolBar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL|wx.TB_FLAT|wx.TB_DOCKABLE)
self.myChoice = ComboBoxWithHelp(self.toolBar, wx.NewId(), size=(200, -1), value=..., choices=..., style=wx.CB_DROPDOWN,)
self.toolBar.AddControl(self.myChoice)

iconname = 'icons/new.png'
self.toolBar.AddSimpleTool(1, wx.Image(iconname, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', 'New')

...
self.toolBar.Realize()
self.SetToolBar(self.toolBar)

菜单栏下方没有显示任何内容,但空间留在那里。我是否错误地安装了wxpython或错误地使用了该函数?

顺便说一句,上面的代码也适用于Ubuntu。

1 个答案:

答案 0 :(得分:0)

此代码中的self是什么?工具栏在OSX上有点不同,并且可能有点棘手,因此如果self不是wx.Frame或派生自wx.Frame的类,可能会出现一些问题。这是因为本机工具栏实际上是框架的一部分而不是独立的小部件。如果父级不是框架,它应该切换到非本机工具栏,但是您需要自己管理其大小和布局。

如果self已经是框架,那么您可能想要尝试不指定样式标志并让它只使用默认样式,或者您可以尝试创建这样的工具栏,让框架创建它:

self.toolBar = self.CreateToolBar()