23. ウィジェットSpinbox
このウィジェットを使用すると、ユーザーは特定のコレクションから値を選択できます。これらの値の範囲には、数値または文字列の固定セットを指定できます。Spinbox
画面上には、現在の値と一対の矢印を示す領域があります。Spinbox
-
ユーザーは上矢印をクリックして、値を次に高い値に順次進めることができます。値がすでに最大値に達している場合は、必要に応じて、新しい値が最小値に近づくようにウィジェットを設定できます。
-
ユーザーは下矢印をクリックして、値を順番に次に低い値に進めることができます。この矢印は回り込むように構成することもできるので、現在の値が最低の場合、下矢印をクリックすると最高の値が表示されます。
-
ユーザーは、値を直接入力して、ウィジェットを 1 つであるかのように配置することもできます。ユーザーは、ウィジェットをクリックするか、Tab または Shift を使用して、ウィジェットにフォーカスを移動できます (セクション 53「フォーカス: キーボード入力のルーティング」を参照)。 Tab キーを押して、表示された値を編集します。
Entry
ルート ウィンドウまたはフレームの子ウィンドウとして新しいウィジェットを作成します。Spinbox
parent
w = tk.Spinbox(parent, option, ...)
コンストラクターは新しいウィジェットを返します。オプションには次のものが含まれます。Spinbox
表 32.旋转框
ウィジェットのオプション
activebackground |
カーソルはコントロール上に配置されます (セクション 5.3「色」を参照)。 |
bg またはbackground |
ウィジェットの背景色。 |
bd またはborderwidth |
ウィジェットの周囲の境界線の幅 ( 「サイズ」を参照)。デフォルトは <> ピクセルです。 |
buttonbackground |
矢印に表示される背景色。デフォルト値はグレーです。 |
buttoncursor |
マウスオーバー時に表示されるカーソル矢印 (セクション5.8「カーソル」を参照)。 |
buttondownrelief |
下向きのレリーフ スタイルの矢印。セクション 5.6「レリーフ スタイル」を参照してください。これがデフォルトのスタイルです。tk.RAISED |
buttonup |
上向きのレリーフ スタイルの矢印。セクション 5.6「レリーフ スタイル」を参照してください。これがデフォルトのスタイルです。tk.RAISED |
command |
このオプションを使用して、ユーザーがいずれかの矢印をクリックするたびに呼び出す関数またはメソッドを指定します。ユーザーが直接値を編集すると、それが . であるかのように表示されることに注意してください。Entry |
cursor |
マウスが選択されたときに表示されるカーソルは、ウィジェットの入力部分にあります (セクション5.8「カーソル」を参照)。 |
disabledbackground |
これらのオプションは、ウィジェットが の場合の背景と前景を選択します。state tk.DISABLED |
disabledforeground |
|
exportselection |
通常、エントリ セクションのテキストは切り取って貼り付けることができます。この動作を無効にするには、このオプションを に設定します。Spinbox exportselection True |
font |
このオプションはエントリテキストに使用します;セクション5.4「タイプフォント」を参照してください。 |
fg またはforeground |
このオプションは、ウィジェットの入力セクションにテキストと色を表示するために使用される矢印を選択します。 |
format |
このオプションを使用して、 および オプションと組み合わせて数値を制御します。たとえば、値は小数点以下 4 桁の 10 文字フィールドとして表示されます。from_ to format='%10.4f' |
from_ |
このオプションをオプション (後述) と組み合わせて使用し、数値範囲の値を制限します。たとえば、 と は 1 ~ 9 (<> と <> を含む) の間の値のみを許可します。以下のオプションを参照してください。to from_=1 to=9 increment |
highlightbackground |
カラー フォーカス フォーカスがない場合に強調表示されます。セクション 53「フォーカス: キーボード入力のルーティング」を参照してください。Spinbox |
highlightcolor |
カラーフォーカスフォーカス があるときに強調表示されます 。Spinbox |
highlightthickness |
焦点の太さが強調されます。デフォルト値は です。フォーカスの強調表示を抑制するように設定します。1 0 |
increment |
and オプションを使用して値を制限する場合、ユーザーが矢印をクリックしたときに値がどの程度増減するかを指定するオプションが表示されます。たとえば、オプション 、 、および を使用すると、上矢印は値 0.0、0.5、1.0、1.5、および 2.0 を順に移動します。from_ to increment from_=0.0 to=2.0 increment=0.5 |
insertbackground |
エントリのエントリセクションにキャレットウィジェットを表示する色を選択します。 |
insertborderwidth |
このオプションは、キャレット カーソルの周囲の境界線の幅を制御します。通常、キャレットには境界線がありません。このオプションがゼロ以外の値に設定されている場合、キャレット カーソルはエンボス スタイルで表示されます。tk.RAISED |
insertofftime |
これら 2 つのオプションは、キャレットを制御します。それぞれ、キャレットにかかる時間とミリ秒単位の所要時間を制御します。たとえば、オプションと を使用すると、カーソルは 0.2 秒間点滅し、その後 0.4 秒間点滅します。insertofftime=200 insertontime=400 |
insertontime |
|
insertwidth |
このオプションを使用してキャレット カーソルを指定します。可能な値についてはセクション5.1「サイズ」を参照してください。デフォルトの幅は <> ピクセルです。 |
justify |
このオプションは、ウィジェットの入力セクション内のテキストの位置を制御します。値は、テキストを左揃え、中央揃え、または右揃えにすることができます。tk.LEFT tk.CENTER RIGHT |
readonlybackground |
このオプションは、ウィジェットの背景色を指定します (セクション5.3「色」を参照)。state 'readonly' |
relief |
このオプションはコントロールに使用します。「レリーフ スタイル」を参照してください。デフォルトのスタイルは です。tk.SUNKEN |
repeatdelay |
これらのオプションは、矢印のマウス クリックを指定します。値はミリ秒単位です。値は、繰り返す前にマウス ボタンを押し続ける必要がある時間を指定し、関数を繰り返すことを指定します。デフォルト値はそれぞれ 400 ミリ秒と 100 ミリ秒です。repeatdelay repeatinterval |
repeatinterval |
|
selectbackground |
選択した項目の表示に使用される背景色。 |
selectborderwidth |
選択範囲の周囲に表示する境界線の幅の項目。 |
selectforeground |
選択した項目の表示に使用される前景色。 |
state |
通常、ウィジェットはステートで作成されます。このオプションを設定すると、ウィジェットがマウスまたはキーボードの操作に応答しなくなります。に設定されている場合、キーストロークを使用してウィジェットのエントリ セクションの値を変更することはできませんが、値をクリップボードにコピーすることはでき、ウィジェットは矢印のクリックに引き続き応答します。Spinbox tk.NORMAL tk.DISABLED 'readonly' |
takefocus |
通常、ウィジェットの入力部分にフォーカスを設定できます (セクション53「フォーカス: キーボード入力のルーティング」を参照)。ウィジェット シーケンスをフォーカス トラバーサルから削除し、設定します。Spinbox takefocus=False |
textvariable |
ウィジェットを取得する場合は、以下のメソッドを使用するか、制御変数をウィジェットに関連付けて、その制御変数をこのオプションの値として渡すことができます。「制御変数: ウィジェットの背後にある値」を参照してください。.get() |
to |
このオプションは範囲の上限値を指定します。上記のオプションとオプションを参照してください。from_ increment |
values |
有两种方法可以指定可能的值 的小部件。一种方法是提供一个元组 字符串作为选项的值。例如,将只允许这三个 字符串作为值。将小组件配置为 接受一系列数值,请参阅上面的选项。values values=('red', 'blue', 'green') from_ |
width |
使用此选项可指定字符数 允许在小部件的入口部分。这 默认值为 20。 |
wrap |
通常,当小部件处于其最大值时, 向上箭头不执行任何操作,当小部件 处于其最低值,向下箭头 无。如果选择 , 向上箭头将从最高处前进 值回到最低值,向下箭头 将从最低值前进回 最高。wrap=True |
xscrollcommand |
使用此选项将滚动条连接到条目 小部件的一部分。有关细节,请参见第 22.2 节 “将滚动条连接到另一个滚动条” 小部件”。 |
这些方法在小部件上可用:Spinbox
.bbox(
index
)
此方法返回字符的边界框 在小部件的入口部分中的位置。这 结果是一个元组,其中的值是左上角的和坐标,以及 字符的宽度和高度(以像素为单位),其中 次序。index
(
x
, y
, w
, h
)x
y
.delete(first, last=None)
此方法从 的条目部分删除字符 这。和 的值是 以 Python 切片的标准方式解释。Spinbox
first
last
.get()
此方法返回 的值。该值始终作为 字符串,即使小部件设置为包含 数。Spinbox
.icursor(
index
)
使用此方法将插入光标定位在 由 指定的位置,使用标准 位置的 Python 约定。index
.identify(
x
, y
)
给定一个职位 小部件,此方法返回一个字符串,描述什么 在那个位置。值可以是以下任何值:(
x
, y
)
-
'entry'
对于入口区域。 -
'buttonup'
对于向上指向 箭头。 -
'buttondown'
对于 向下的箭头。 -
''
(空字符串)如果这些 坐标不在微件内。
.index(
i
)
此方法返回 指数。 参数可以是以下任何一种:i
-
tk.END
获得职位后 条目的最后一个字符。 -
tk.INSERT
要获得位置 插入光标。 -
tk.ANCHOR
要获得位置 选择锚点。 -
tk.SEL_FIRST'
获得位置 所选内容的开始。如果选择是 不在小部件中,此方法会引发异常。tk.TclError
-
tk.SEL_LAST
获得职位 刚刚过了选择的结束。如果 选择不在小部件中,此方法 引发异常。tk.TclError
-
形式为 “” 的字符串表示小部件中的坐标。返回值 是包含该字符的字符的位置 坐标。如果坐标在 小部件,返回值将是 最接近该字符的位置 位置。
@
x
x
.insert(
index
, text
)
此方法插入字符串中的字符 由 指定的位置。为了可能 索引值,请参阅方法 以上。text
index
.index()
.invoke(
element
)
调用此方法以获得与用户相同的效果 单击箭头。该参数适用于向上箭头和向下箭头。element
'buttonup'
'buttondown'
.scan_dragto(
x
)
このメソッドは、セクション 10「エントリ ウィジェット」で説明されているメソッドと同じように機能します。.scan_dragto()
.scan_mark(
x
)
このメソッドは、セクション 10「エントリ ウィジェット」で説明されているメソッドと同じように機能します。.scan_mark()
.selection('from',
index
)
ウィジェット内の選択アンカーを で指定された位置に設定します。可能な値については、上記の方法を参照してください。選択アンカーの初期値は 0 です。index
index
.index()
.selection('to',
index
)
[アンカーと表示を選択] を選択します。index
.selection('range',
start
, end
)
間のテキストを選択してインデックスを付けます。許可されるインデックス値については、上記の方法を参照してください。start
end
.index()
.selection_clear()
明確な選択。
.selection_get()
選択されたテキストを返します。現在選択されているものが存在しない場合、このメソッドは例外をスローします。tk.TclError