20. ウィジェットRadiobutton
ラジオ ボタンは、ユーザーが一連のオプションのうち 1 つだけを選択できるようにする一連の関連ウィジェットです。各ラジオ ボタンはインジケーターとラベルで構成されます。
-
選択した項目内で赤く変化するひし形の部分がインジケーターです。
-
ラベルはテキストですが、画像やビットマップをラベルとして使用できます。
-
このインジケーターは必要に応じて省略できます。これにより、ラジオ ボタンが「プッシュ-プッシュ」ボタンのように見え、選択したエントリが凹んで表示され、残りのエントリが盛り上がって表示されます。
-
複数のラジオ ボタンを機能グループにグループ化するには、制御変数を作成し (後述のセクション 52「制御変数: ウィジェットの背後 にある値」を参照)、各ラジオ ボタンのオプションをその変数に設定します。
variable
制御変数は OR にすることができます。2 つ以上のラジオ ボタンが同じ制御変数を共有している場合、いずれかを設定するともう一方がクリアされます。
IntVar
StringVar
-
グループ内の各ラジオ ボタンには、コントロールと同じタイプの一意のオプション変数が必要です。たとえば、3 つのラジオ ボタンのグループが 1 つを共有し、0、1、99 を持つ場合があります。あるいは、制御変数を使用して、 、 、 などのラジオ ボタンのオプションを提供することもできます。
value
IntVar
StringVar
value
'too hot'
'too cold'
'just right'
次の名前のルート ウィンドウまたはフレームの子として、新しいラジオ ボタン ウィジェットを作成します。parent
w = tk.Radiobutton(parent, option, ...)
このコンストラクターは新しいウィジェットを返します。オプション:Radiobutton
表 29.单选按钮
ウィジェットのオプション
activebackground |
ラジオボタンの上にマウスを置きます。セクション5.3「色」を参照してください。 |
activeforeground |
マウスがラジオ ボタンの上にあるときの前景色。 |
anchor |
ウィジェットが配置されるスペースが必要以上に大きい場合、このオプションはそのスペース内でラジオ ボタンを配置する場所を指定します。デフォルト値は です。他の配置オプションについては、「アンカーポイント」を参照してください。たとえば、設定すると、ラジオ ボタンが利用可能なスペースの右上隅に配置されます。anchor=tk.CENTER anchor=tk.NE |
bg またはbackground |
インジケーターの後ろの通常の背景色 とラベル。 |
bitmap |
ラジオボタンにモノクロ画像を表示するには、このオプションをビットマップに設定します ( 「ビットマップ」を参照)。 |
bd またはborderwidth |
インジケーターセクション自体の周囲の境界線のサイズ。デフォルトは 5 ピクセルです。可能な値については、セクション 1.<>「寸法」を参照してください。 |
command |
ユーザーがこのラジオ ボタンの状態を変更するたびに呼び出されるプロシージャ。 |
compound |
テキストとグラフィックス (ビットマップまたはイメージ) の両方が指定されている場合、このオプションはテキストを基準にしてグラフィックスが表示される場所を指定します。可能な値は (デフォルト)、、、、、および です。たとえば、グラフィックをテキストの下に配置します。指定した場合、グラフィックスは表示されますが、(存在する場合) は表示されません。tk.NONE tk.TOP tk.BOTTOM tk.LEFT tk.RIGHT tk.CENTER compound=tk.BOTTOM compound=tk.NONE text |
cursor |
このオプションがカーソル名に設定されている場合 (セクション5.8「カーソル」を参照)、マウス カーソルがラジオ ボタン上にあると、そのモードに変わります。 |
disabledforeground |
無効になっているラジオ ボタンをレンダリングするために使用されます。デフォルトは、デフォルトの前景色の点線バージョンです。 |
font |
使用するフォント。セクション5.4「タイプフォント」を参照してください。text |
fg またはforeground |
レンダリングに使用する色 。text |
height |
ラジオ ボタンのテキストの行数 (ピクセルではありません) 。デフォルト値は 1 です。 |
highlightbackground |
フォーカスのないラジオ ボタンのフォーカスの色。セクション 53「フォーカス: キーボード入力のルーティング」を参照してください。 |
highlightcolor |
色 ラジオ ボタンにフォーカスがある場合の強調表示。 |
highlightthickness |
焦点の太さが強調されます。デフォルト値は です。フォーカスの強調表示を抑制するように設定します。1 highlightthickness=0 |
image |
テキスト ラジオ ボタンの代わりにグラフィック イメージを表示するには、このオプションをイメージ オブジェクトに設定します。セクション5.9「画像」を参照してください。ラジオ ボタンが選択されていない場合の画像が表示されます 。以下を比較してください。selectimage |
indicatoron |
通常、ラジオ ボタンにはインジケーターが表示されます。このオプションをゼロに設定すると、インジケーターが消え、ウィジェット全体が盛り上がった「プッシュ-プッシュ」ボタンになり、クリアされると表示され、設定されると沈みます。このような状態コントロールを見やすくするために、この値を大きくするとよいでしょう。borderwidth |
justify |
このオプションは、テキストに複数の行が含まれる場合に、テキストの配置を制御します: (デフォルト)、、、、または。text tk.CENTER tk.LEFT tk.RIGHT |
offrelief |
インジケーターがアサートによって抑制されている場合、このオプションは、ラジオ ボタンが選択されていないときに表示されるエンボス スタイルを指定します。デフォルト値は です。indicatoron=False offrelief tk.RAISED |
overrelief |
エンボス マウスを指定した場合にラジオボタンに表示されるスタイル。 |
padx |
ラジオボタンとテキストのために左右にどれだけのスペースを残すか。デフォルト値は 1 です。 |
pady |
ラジオ ボタンとテキストの上下に残すスペースの量。デフォルト値は 1 です。 |
relief |
デフォルトでは、ラジオ ボタンにはエンボスが付いているため、背景から飛び出すことはありません。3D 効果のオプションの詳細については、セクション 5.6「エンボス スタイル」を参照してください 。を使用することもできます。これにより、ラジオ ボタンの周囲に黒い枠が表示されます。tk.FLAT relief=tk.SOLID |
selectcolor |
カラー設定 時のラジオボタン。デフォルトは赤です。 |
selectimage |
ラジオ ボタンがオフになっているときにテキストの代わりにグラフィックを表示するオプションを使用している場合は、ラジオ ボタンが設定されているときに表示される別の画像にオプションを設定できます。セクション5.9「画像」を参照してください。image selectimage |
state |
デフォルトは次のとおりですが、コントロールをグレー表示にして応答しなくすることもできます。カーソルが現在ラジオ ボタンの上にある場合、状態は [はい] になります。state=tk.NORMAL state=tk.DISABLED tk.ACTIVE |
takefocus |
デフォルトでは、入力フォーカス (セクション 53「フォーカス: キーボード入力のルーティング」を参照) はラジオ ボタンを通過します。設定すると、このラジオ ボタンにフォーカスが移動しなくなります。takefocus=0 |
text |
ラジオボタンの横に表示されるラベル。複数行のテキストを表示するには、改行 () を使用します。'\n' |
textvariable |
実行中にラジオ ボタンのラベルを変更する必要がある場合は、現在の値を管理するための を作成し ( 「制御変数: ウィジェットの背後にある値」を参照)、このオプションを制御変数として設定します。制御変数の値が変更されると、ラジオ ボタンのコメントも自動的にこのテキストに変更されます。StringVar |
underline |
デフォルト値の -1 では、テキスト ラベルのない文字に下線が付きます。テキスト内の文字のインデックス (0 から数えて) を使用してその文字に下線を付けるには、このオプションを設定します。 |
value |
ユーザーがラジオ ボタンをオンに切り替えると、その制御変数が現在の選択に設定されます。制御変数が 1 つの場合、ラジオ ボタンごとに異なる整数オプションをグループ化します。制御変数が の場合、各ラジオ ボタンの異なる文字列オプション。value IntVar value StringVar value |
variable |
このラジオ ボタンで共有される制御変数は、グループ内の他のラジオ ボタンとともに使用されます ( 「制御変数: ウィジェットの背後にある値」を参照)。これは 1 つまたは 1 つです。IntVar StringVar |
width |
ラジオ ボタンのデフォルトの幅は、表示される画像またはテキストのサイズによって決まります。このオプションを文字数 (ピクセルではなく) に設定すると、ラジオ ボタンには常にその数のスペース文字が含まれます。 |
wraplength |
通常、行は折り返されません。このオプションを文字数に設定すると、すべての行がこの数を超えない断片に分割されます。 |
ラジオ ボタン オブジェクトのメソッドには次のものがあります。
.deselect()
ラジオボタンをクリア(オフ)します。
.flash()
ラジオ ボタンをアクティブな色と通常の色の間で数回点滅させますが、最初はそのままにしておきます。
.invoke()
このメソッドを呼び出して、ユーザーがラジオ ボタンをクリックして状態を変更したかどうかに関する情報を取得できます。
.select()
ラジオボタンを設定(オン)します。
21.「ズーム」ウィジェット (anzeljg.github.io)
21. ウィジェットScale
スケール ウィジェットの目的は、ユーザーが範囲を指定できるようにすることです。以下に、水平方向と垂直方向の 2 つのスケール ウィジェットを示します。int
float
每个刻度显示一个滑块,该滑块 用户可以沿着低谷拖动到 更改值。在图中,第一个滑块是 目前为 -0.38,第二个为 7。
-
您可以使用鼠标将滑块拖动到新值 按钮 1.
-
如果单击槽中的按钮 1,滑块将 每次单击沿该方向移动一个增量。 按住低谷中的按钮 1 将在 延迟,开始自动重复其功能。
-
如果秤有键盘 焦点,向左箭头和向上箭头击键将 向上移动滑块(对于垂直缩放)或向左移动(对于 水平刻度)。向右箭头和向下箭头 击键将向下或向右移动滑块。
创建新的缩放构件作为根窗口的子窗口 或名为 :parent
w = tk.Scale(parent, option, ...)
构造函数返回新小部件。选项:Scale
表 30.缩放
微件选项
activebackground |
鼠标悬停在滑块上时滑块的颜色。 请参见第 5.3 节 “颜色”。 |
bg 或background |
小部件中位于 槽。 |
bd 或borderwidth |
槽周围的 3-D 边框的宽度和 滑 块。默认值为 5 像素。对于可接受的 值,请参见第 1.<> 节 “维度”。 |
command |
每次滑块 搬。此过程将传递一个参数, 新的比例值。如果滑块被移动 很快,您可能不会收到每个回电 可能的位置,但你肯定会得到一个 结算时的回调。 |
cursor |
鼠标悬停在 规模。请参见第 5.8 节 “游标”。 |
digits |
程序读取当前值的方式 比例小部件是通过控制变量;请参见第 52 节 “控制变量:小部件背后的值”。的控制变量 刻度可以是 、 (表示类型) 或 。如果是字符串变量, 该选项控制多少 转换数字小数位数值时要使用的数字 到字符串。IntVar DoubleVar float StringVar digits |
font |
用于标签和批注的字体。请参见第 5.4 节 “键入字体”。 |
fg 或foreground |
文本的颜色 用于标签和批注。 |
from_ |
定义 刻度的范围。对于垂直刻度,这是顶部 结束;对于水平刻度,为左端。底杆 () 不是拼写错误:因为是 Python 中的保留字,此选项 拼写为 .默认值为 0.0。 请参阅下面的选项,了解其他选项 范围的结束。float _ from from_ to |
highlightbackground |
颜色 当刻度没有焦点时,焦点会突出显示。 请参见第 53 节 “焦点:路由键盘输入”。 |
highlightcolor |
颜色 焦点突出显示 当刻度具有焦点时。 |
highlightthickness |
焦点的厚度 突出显示。默认值为 1。设置为禁止显示 的焦点突出显示。highlightthickness=0 |
label |
您可以通过以下方式在比例微件中显示标签 将此选项设置为标签的文本。标签 如果比例为 水平,如果垂直,则为右上角。 默认值为无标签。 |
length |
比例微件的长度。如果比例为 水平,如果垂直,则为 y 维。默认值为 100 像素。为 允许的值,请参见第 5.1 节 “尺寸”。 |
orient |
如果需要,请设置 缩放以沿 X 维度运行,或运行 平行于 y 轴。 默认值为垂直。orient=tk.HORIZONTAL orient=tk.VERTICAL |
relief |
默认情况下,将 比例并没有从其背景中脱颖而出。你 也可用于获得 刻度周围的纯黑框,或任何 第 5.6 节 “浮雕样式”中描述的其他浮雕类型。relief=tk.FLAT relief=tk.SOLID |
repeatdelay |
此选项控制按钮 1 的长度 在滑块启动之前按住低谷 反复朝那个方向移动。默认值为 ,单位为 毫秒。repeatdelay=300 |
repeatinterval |
此选项控制滑块跳转的频率 一旦按钮 1 在槽中按住 至少毫秒。 例如,每 100 毫秒跳转一次滑块。repeatdelay repeatinterval=100 |
resolution |
通常,用户只能更改 按整单位缩放。将此选项设置为一些 其他值以更改 比例的值。例如,如果和 ,和 您设置,比例 将有 5 个可能的值:-1.0、-0.5、0.0、+0.5、 和 +1.0。所有较小的移动都将被忽略。 用于禁用任何 值的舍入。from_=-1.0 to=1.0 resolution=0.5 resolution=-1 |
showvalue |
通常,刻度的当前值为 滑块以文本形式显示(在其上方为 水平刻度,向左表示垂直 鳞片)。将此选项设置为 0 可禁止显示 标签。 |
sliderlength |
通常滑块沿长度为 30 像素 的规模。您可以通过以下方式更改该长度 将选项设置为 您想要的长度;请参见第 5.1 节 “尺寸”。sliderlength |
sliderrelief |
默认情况下,滑块以浮雕样式显示。对于其他救济 样式,将此选项设置为任何值 在第 5.6 节 “浮雕样式”中描述。tk.RAISED |
state |
通常,秤小部件响应鼠标事件, 当他们有焦点时,还有键盘事件。 设置为使 小部件无响应。state=tk.DISABLED |
takefocus |
通常,焦点将在缩放中循环 部件。如果不需要,请将此选项设置为 0 此行为。请参见第 53 节 “焦点:路由键盘输入”。 |
tickinterval |
通常,不会显示“即时报价” 沿着规模。要显示周期性刻度值, 将此选项设置为一个数字,刻度将是 以该值的倍数显示。例如 如果 和 ,标签将 沿刻度以值 0.0、0.25 显示, 0.50、0.75 和 1.00。这些标签如下所示 如果为水平,则为比例,如果为垂直,则为左侧。 默认值为 0,表示禁止显示即时报价。from_=0.0 to=1.0 tickinterval=0.25 |
to |
定义 刻度范围;另一端由选项定义,如上所述。该值可以大于或小于 比值。对于垂直 刻度,值定义底部 规模;对于水平刻度,右端。这 默认值为 100.0。float from_ to from_ to |
troughcolor |
颜色 槽。 |
variable |
このスケールの制御変数 (存在する場合)。セクション 52「制御変数: ウィジェットの背後にある値」を参照してください。制御変数は、クラス、(型の場合)、または からのものです。後者の場合、数値は文字列に変換されます。以下の詳細については、上記のオプションを参照してください。この変換。IntVar DoubleVar float StringVar digits |
width |
ウィジェットのスロット部分の幅。これは、垂直スケールの x 次元と y 次元 (スケールにスケールがある場合) です。デフォルトは 15 ピクセルです。orient=tk.HORIZONTAL |
スケール オブジェクトには次のメソッドがあります。
.coords(value=None)
指定されたスケール値に対応する、ウィジェットの隅の左上隅を基準とした相対座標を返します。の場合、スライダーの中心が現在位置している座標を取得します。スケールの値が特定の値に設定されている場合は、スライダーの位置を見つけて使用します。value=None
x
value=
x
.get()
このメソッドは、ティックの現在の値を返します。
.identify(
x
, y
)
ウィジェットの左上隅を基準とした相対座標のペアを指定すると、このメソッドは、その位置にどのウィジェットの機能部分があるかを識別する文字列を返します。戻り値は次のいずれかになります。(
x
, y
)
'slider' |
スライダー。 |
'trough1' |
水平スケールの場合はスライダーの上、垂直スケールの場合はスライダーの上。 |
'trough2' |
水平スケールの場合はスライダーの下、垂直スケールの場合はスライダーの下。 |
'' |
上記のセクションのいずれにも含まれない役職。( |
.set(
value
)
スケールの値を設定します。