【Python GUI tkinterサンプル】ttk.Notebookのタブにstateオプションを使用してタブの状態を制御する
使用するメソッド
ノート(tab)の追加
add(widget,<tag-option>)
ノート(tab)の状態の変更
tab(tab_id,<tag-option>)
使用するタブオプション
state
タブの状態を状態を変更するタブオプション。指定できる値は下記
・state=”normal”
デフォルト。表示。
・state=”disabled”
非活性。画面には表示するが、操作できない。
画面に表示しない。
サンプル画像
・サンプルコード実行
実際にはnote2も存在するがhiddenが指定されているため非表示
各ボタンにnote2の状態を変更するイベントを与えている
normalボタン押下
note2が復活する
サンプルコード
from tkinter import *
import tkinter.ttk as ttk
class NotebookStateSample(ttk.Frame):
def __init__(self, master):
super().__init__(master)
self.create_widgets()
self.pack()
def create_widgets(self):
note = ttk.Notebook(self)
note.pack()
self.note = note
note0 = ttk.Frame(note,width=300,height=300)
note1 = ttk.Frame(note,width=300,height=300)
note2 = ttk.Frame(note,width=300,height=300)
note.add(note0,text="note0",state="normal")
note.add(note1,text="note1",state="disabled")
note.add(note2,text="note2",state="hidden")
normalButton = ttk.Button(self,text="normal",command=self.normalCommand)
normalButton.pack()
disabledButton = ttk.Button(self,text = "disabled",command=self.disabledCommand)
disabledButton.pack()
hiddenButton = ttk.Button(self,text = "hidden",command=self.hiddenCommand)
hiddenButton.pack()
print(note.tabs())
def normalCommand(self):
self.note.tab(tab_id=2,state="normal")
def disabledCommand(self):
self.note.tab(tab_id=2,state="disabled")
def hiddenCommand(self):
self.note.tab(tab_id=2,state="hidden")
if __name__ == '__main__':
master = Tk()
master.title("NotebookStateSample")
master.geometry("400x400")
NotebookStateSample(master)
master.mainloop()