例えば、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 件のコメント:
コメントを投稿