今日も見に来てくださって、ありがとうございます。石川さんです。
今回は、tkinterの中に定義されている、ttkのNotebookについて、ちょっと調べてみました。
出来上がりイメージ
簡単に言うとタブ付きの切り替えですね。
ソースコード
ソースコードは、以下のようになりました。
import tkinter as tk import tkinter.ttk as ttk class App(tk.Tk): def __init__(self): super().__init__() self.title("ttk Notebook サンプル") properties = { "全般":["タイトル","タグ","メニュー名","表示可能","使用可能","コントロールメニュー","最大化ボタン","最小化ボタン","クライアントエッジ"], "スクロール":["水平スクロールバー","垂直スクロールバー","行の単位","カラムの単位","1ページのカラム数","1ページの行数"], "ツールバー":["ツールバーの表示","ツールバーの配置","ツールバーX","ツールバーY","ツールバーの幅","ツールバーの高さ"], "その他":["X","Y","幅","高さ","ポインタ"], } self.notebook = ttk.Notebook(width=400, height=200) for key, value in properties.items(): frame = ttk.Frame(self.notebook) self.notebook.add(frame, text=key, sticky=tk.NE+tk.SW) for text in value: ttk.Label(frame, text=text).pack(anchor=tk.W) self.notebook.pack() self.button = ttk.Button(self, text="Close", command=self.destroy) self.button.pack() if __name__ == "__main__": app = App() app.mainloop()
解説
割と簡単にできました。まず、Notebookを作ります。そして、FrameをNotebookの子供として作成して、addするだけですね。Frame以外にもCanvasやLabelなどWidgetを指定できるようです。
まとめ
タブ付きのエディタを作りたい、と、思っているのですけど、使えそうですね!