Python GUI Programming

Tkinterメニューバー完全マスターガイド

Spread the love

このチュートリアルでは、グラフィカルユーザーインターフェース(GUI)構築のためのPythonライブラリであるTkinterで、メニューバーの作成と使用方法を説明します。基本的なTkinterウィジェット(フレームやラベルなど)に関する予備知識があると役立ちます。

目次

  1. 基本的なメニューバーの作成
  2. メニュー項目への機能の追加
  3. 高度なメニューバーテクニック(任意)

1. 基本的なメニューバーの作成

「ファイル」メニュー、「新規」、「開く」、「終了」オプションを含むシンプルなメニューバーを構築することから始めましょう。この最初の例では、視覚的な構造のみに焦点を当て、メニュー項目はまだ何も実行しません。


import tkinter as tk

root = tk.Tk()
root.title("Tkinter Menubar Example")

menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="New")
filemenu.add_command(label="Open")
filemenu.add_separator()
filemenu.add_command(label="Exit")
menubar.add_cascade(label="File", menu=filemenu)
root.config(menu=menubar)

root.mainloop()

このコードは、メインウィンドウ(root)、メニューバー、「ファイル」メニューを作成します。tearoff=0はメニューが切り離されるのを防ぎます。add_commandはメニュー項目を追加し、add_separatorは視覚的なセパレータを挿入し、add_cascadeは「ファイル」メニューをメニューバーに統合します。root.config(menu=menubar)はメニューバーを表示します。

2. メニュー項目への機能の追加

次に、機能を備えたメニュー項目を強化しましょう。「終了」コマンドをアプリケーションの終了に接続し、「新規」と「開く」のアクションを追加します。


import tkinter as tk

def new_file():
    print("New file action triggered!")

def open_file():
    print("Open file action triggered!")

def exit_app():
    root.destroy() # root.quit()よりも推奨される方法

root = tk.Tk()
root.title("Tkinter Menubar Example with Commands")

menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=new_file)
filemenu.add_command(label="Open", command=open_file)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=exit_app)
menubar.add_cascade(label="File", menu=filemenu)
root.config(menu=menubar)

root.mainloop()

このコードは、new_fileopen_fileexit_app関数を定義します。これらの関数は、command引数を介してメニュー項目にリンクされています。「新規」または「開く」をクリックすると、それぞれの関数がトリガーされます。「終了」はアプリケーションを閉じます。プレースホルダーのprint文は、必要な機能に置き換えてください。「開く」をファイルダイアログにリンクするなどです。

3. 高度なメニューバーテクニック(任意)

より複雑でユーザーフレンドリーなアプリケーションを作成するには、次の高度なテクニックを検討してください。

  • サブメニュー:より良い整理のためにネストされたメニューを作成します。
  • チェックボタンメニュー項目:ユーザーがオプションのオン/オフを切り替えることができます。
  • ラジオボタンメニュー項目:相互に排他的な選択肢を提供します。
  • キーボードショートカット:より迅速なアクセスのため、メニュー項目にキーボードショートカットを割り当てます(add_commandunderlineacceleratorオプションを使用)。
  • イベント処理:より高度なイベント処理テクニックを使用して、ユーザーとのインタラクションを管理します。

これらの高度な機能の詳細については、Tkinterのドキュメントを参照してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です