例えば、TeraPadのメニューバーの一つしたにアイコンが並んでますよね。これがツールバーです。
他にもいろいろな場面でツールバーが活用さらていますが、そんなツールバーを今回はwxPythonで使いたいと思います。
wx.Toolbar
まずこんな感じに、フレームにツールバーを追加します。Toolbar = self.CreateToolBar()そしたら作成したToolbarにどんどんアイテムを追加していきます。
Toolbar.AddTool(0,"",wx.Bitmap("aiueo.png"))第一引数はIDです。ツールバーが選択されたときのイベントを実装する際に必要になってきます。
ちなみにセパレーターを追加するには、以下のようにします。
Toolbar.AddSeparator()
また、Windowsの場合はツールバーを正確に反映するために、最後に以下のように入力する必要があります。
Toolbar.Realize()
サンプルコード
import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1,"タイトル") Toolbar = self.CreateToolBar() Toolbar.AddTool(0,"",wx.Bitmap("sample.png")) Toolbar.AddSeparator() Toolbar.AddTool(1,"",wx.Bitmap("sample2.png")) Toolbar.Realize() self.Bind(wx.EVT_MENU,self.SelectMenu) def SelectMenu(self,event): Id = event.GetId() if Id == 0: wx.MessageBox("アイテム1が押されました") elif Id == 1: wx.MessageBox("アイテム2が押されました") app = wx.App(0) MyFrame().Show(True) app.MainLoop()※sample.pngとsample2.pngが必要となりますので、各自で用意してください。
※画像のサイズを35x35くらいにリサイズしないと、ツールバーのアイコンがかなり大きく表示されます。
※画像を用意するのが面倒だったので、ふたつとも同じ画像にしてます。
さいごに
ツールバーはメニューバーよりも気軽に押せる感じがします。さらにメニューバーは文字ですが、ツールバーはアイコンなので、わかりやすくなります。
是非、ツールバーを追加してみてはいかがでしょうか。
0 件のコメント:
コメントを投稿