田舎社会人のいろいろ学習記

Python、英語、その他いろいろ

【tkinter】Spinboxの使い方【Python】

f:id:vigilantPotato:20210719004712p:plain
スピンボックスは1行のテキストボックスで、ユーザーによる値の入力と、上下矢印を用いた値の選択の両方が可能。


【スポンサーリンク】


数値を設定するスピンボックス

-10から10までの整数値を、上下矢印で調整可能なスピンボックスを作成する例を示す。

import tkinter

root = tkinter.Tk()

#Spinboxの値格納用変数
var = tkinter.IntVar(root)
var.set(0)  #初期値セット

#スピンボックス設定
s = tkinter.Spinbox(
    root,
    textvariable=var,   #変数
    from_=-10,          #下限値
    to=10,              #上限値
    increment=1,        #増減ステップ
    )
s.pack()

#表示用ラベル
l = tkinter.Label(
    root,
    textvariable=var,
    )
l.pack()

root.mainloop()
f:id:vigilantPotato:20210719004831p:plain

スピンボックスのオプションで、from_及びtoを指定することで、調整できる数値の上下限値を設定することができる。また、incrementオプションで、矢印を押したときに増減する値を設定している。

[↑ 目次へ]


数値を設定するスピンボックス 小数の場合

formaオプションを使用することで、小数値以下の値を設定することができる。

import tkinter

root = tkinter.Tk()

#Spinboxの値格納用変数
var = tkinter.DoubleVar(root)
var.set(0)  #初期値セット

#スピンボックス設定
s = tkinter.Spinbox(
    root,
    textvariable=var,   #変数
    from_=-10,          #下限値
    to=10,              #上限値
    increment=0.1,      #増減ステップ
    format="%.1f",      #小数値以下の設定
    )
s.pack()

#表示用ラベル
l = tkinter.Label(
    root,
    textvariable=var,
    )
l.pack()

root.mainloop()

formatオプションに、%.桁数fを設定することで、表示する値の小数点以下の桁数を指定している。

f:id:vigilantPotato:20210719004916p:plain

[↑ 目次へ]


【スポンサーリンク】


文字列を選択するスピンボックス

数値ではなく、あらかじめ設定した文字列の選択をさせる例を示す。

import tkinter

root = tkinter.Tk()

#Spinbox用変数
var = tkinter.StringVar(root)

#スピンボックスに設定する文字列
drink = ["Beer", "Coffee", "Water"]

#スピンボックス設定
s = tkinter.Spinbox(
    root,
    textvariable=var,   #変数
    values=drink,       #文字列設定
    )
s.pack()

#表示用ラベル
l = tkinter.Label(
    root,
    textvariable=var,
    )
l.pack()

root.mainloop()

valuesオプションに文字列を指定することで、スピンボックスで文字列の設定が可能になる。

f:id:vigilantPotato:20210719004957p:plain

[↑ 目次へ]


オプション・メソッド

オプション・メソッド 動作
background(bg) 背景色(green, black, yellow, cyan, magenta, red, blue, white等)
borderwidth(bd) 境界幅
relief 縁の3D表示設定(flat, raised, sunken, groove, ridge)
textvariable 値を格納する変数設定
command 矢印クリック時に実行する関数を設定
from_ 数値下限値
to 数値上限値
increment 数値増減値
format 小数値以下の設定 %.桁数f
values 文字列の設定

[↑ 目次へ]


【スポンサーリンク】