Python tkinter GUI プログラミング ttk Notebookサンプル

 今日も見に来てくださって、ありがとうございます。石川さんです。

 今回は、tkinterの中に定義されている、ttkのNotebookについて、ちょっと調べてみました。

出来上がりイメージ

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を指定できるようです。

まとめ

 タブ付きのエディタを作りたい、と、思っているのですけど、使えそうですね!

コメントを残す

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


The reCAPTCHA verification period has expired. Please reload the page.