2016-09-01 4 views
1

私はwxpythonを使ってGUI用のpythonスクリプトを持っています。しかし、OS Xでスクリプトを実行すると、ツールバーが表示されます(wxpythonを公式サイトからインストールし、ココアバージョンを使用し、OS X 10.10とPython 2.7を使用しています)。ツールバーに関するコードの一部は以下の通りです:wxpythonツールバーはos xに表示されていません

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

このコードではselfとは何ですか?ツールバーはOSX上で少し違っていて、ややこしいことがあるので、selfwx.Frameでないか、またはwx.Frameから派生したクラスでないと問題が発生することがあります。これは、ネイティブツールバーが実際には独立したウィジェットではなくフレームの一部であるためです。親がフレームではない場合は非ネイティブツールバーに切り替える必要がありますが、そのサイズとレイアウトを自分で管理する必要があります。

selfがすでにフレームであるなら、あなたはスタイルフラグを指定しないようにしようと、それは単にデフォルトのスタイルを使用できるようにしたいことがあり、またはあなたの代わりにこのようなツールバーを作成しようとすると、フレームは、それを作成させることができます:

self.toolBar = self.CreateToolBar() 
関連する問題