【Python GUI Tkinterリファレンス】Widget変数一覧
目次
Widget変数とは(別名:制御変数)
-textvariableや-variableオプションに指定することのできる変数。
動的にラベルの文字列を変更したり、入力した値を取得出来たりする。
get()で値の取得、set()で値の設定ができる。
用意されているWidget変数は4種類
IntVar
int_var = IntVar(value=0) int_var.set(1) int_var.get()
・整数型を保持させる
DoubleVar
double_var = DoubleVar(value=0.0) double_var.set(0.1) double_var.get()
・浮動小数型を保持させる
BooleanVar
boolean_var = BooleanVar(value=True) boolean_var.set(False) boolean_var.get()
・真偽値を保持させる
StringVar
string_var = StringVar(value="string")
string_var.set("test")
string_var.get()
・文字列を保持させる
4種類の制御変数を使用したプログラムを実行したときのサンプル画像
※サンプルコードを実行

inputを押すと各Widget変数のset()が呼ばれ値が設定される

outputを押すと各Widget変数のget()が呼ばれ値がprintされる

サンプルコード
from tkinter import *
import tkinter.ttk as ttk
class VariableSample(ttk.Frame):
def __init__(self, master):
super().__init__(master)
self.int_var = IntVar(value=0)
self.double_var = DoubleVar(value=0.0)
self.boolean_var = BooleanVar(value=True)
self.string_var = StringVar(value="string")
self.create_widgets()
self.pack()
def create_widgets(self):
intSpin = ttk.Spinbox(self,textvariable=self.int_var)
intSpin.pack()
doubleSpin = ttk.Spinbox(self,textvariable=self.double_var)
doubleSpin.pack()
booleanCheck =ttk.Checkbutton(self,text = "test",variable=self.boolean_var)
booleanCheck.pack()
stringEntry = ttk.Entry(self,textvariable = self.string_var)
stringEntry.pack()
buttonframe = ttk.Frame(self)
buttonframe.pack()
inButton = ttk.Button(buttonframe,text="input",command=self.inputValue)
inButton.pack(side="left")
outButton = ttk.Button(buttonframe,text="output",command=self.outputValue)
outButton.pack(side="left")
def inputValue(self):
self.int_var.set(1)
self.double_var.set(0.1)
self.boolean_var.set(False)
self.string_var.set("sample")
def outputValue(self):
print(self.int_var.get())
print(self.double_var.get())
print(self.boolean_var.get())
print(self.string_var.get())
if __name__ == '__main__':
master = Tk()
master.title("VariableSample")
master.geometry("300x400")
VariableSample(master)
master.mainloop()