我有一个使用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。
答案 0 :(得分:0)
此代码中的self
是什么?工具栏在OSX上有点不同,并且可能有点棘手,因此如果self
不是wx.Frame
或派生自wx.Frame
的类,可能会出现一些问题。这是因为本机工具栏实际上是框架的一部分而不是独立的小部件。如果父级不是框架,它应该切换到非本机工具栏,但是您需要自己管理其大小和布局。
如果self
已经是框架,那么您可能想要尝试不指定样式标志并让它只使用默认样式,或者您可以尝试创建这样的工具栏,让框架创建它:
self.toolBar = self.CreateToolBar()