wxPythonのToolbar(ツールバー)を使う | wx.ToolBar

2022年5月6日金曜日

Python wxPython

t f B! P L
皆さん、ツールバーはご存じでしょうか。
例えば、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くらいにリサイズしないと、ツールバーのアイコンがかなり大きく表示されます。
※画像を用意するのが面倒だったので、ふたつとも同じ画像にしてます。

さいごに

ツールバーはメニューバーよりも気軽に押せる感じがします。
さらにメニューバーは文字ですが、ツールバーはアイコンなので、わかりやすくなります。
是非、ツールバーを追加してみてはいかがでしょうか。

このブログを検索

要望について

ブログのレイアウトやテーマについての提案をいただきました。現在qooqテーマを適応中です。 語尾を自動でつけるプログラムを作りたいという要望をいただきました。是非紹介したいですがどの言語でどのようなプログラムかなど、お問い合わせフォームで詳しく教えてください!

最近の出来事

最近の出来事
寿司打お勧め75位♪(練習モードだけど)

アンケート

Welcome!

「プログラミング独学ブログ」へようこそ。 Yakinyといいます。幅広い範囲で投稿していますので、ぜひ過去の記事も見てみてください!!コメントも大歓迎です!更新がとまってしまって申し訳ございません

お問い合わせ

名前

メール *

メッセージ *

QooQ