パイソン---(2)Tkinterのウィジェット:ボタン

前:Pythonの- ()Tkinterのウィジェット:ラベル


                                                Tkinterのボタンウィジェット

はじめに##

ボタン(ボタン)コンポーネントは、各種ボタンを実装するために使用されます。ボタンアセンブリは、テキストや画像を含むことができ、あなたはPythonの関数やメソッドそれに関連する、ボタンが押されたときに、対応する関数やメソッドが自動的に実行されることができます。

Buttonコンポーネントは、単一のフォントテキストを表示することができますが、テキストは複数行にまたがることができます。また、あなたは(例えば、キーボードショートカットを表すために使用される)、アンダースコア、個々の文字のいずれかを追加することができます。デフォルトでは、[Tab]キーは、ボタンを切り替えるために使用されています。

## Buttonコンポーネントを使用する場合は?

ボタンの「ドライ!」、経由のテキストやアイコンは、ユーザーがプレスダウンを使用するかを知っている:要するに、Buttonコンポーネントは、前記ユーザを可能にするために使用されます。Buttonコンポーネントは、多くの場合、ツールバー、アプリケーションウィンドウを使用し、受け入れるか、ダイアログを拒否しますチェックボタンラジオボタンアセンブリとデータ入力ボタンを使用するためのより適切な

##は使い
共通のボタンは非常に使いやすいです。あなたがやらなければならないことは、ボタン(テキスト、ビットマップまたは画像)の内容を指定し、ボタンが押された相関関数やメソッドが呼び出される必要があります。

import tkinter as tk
 
master = tk.Tk()
 
def callback():
    print("我被调用了!")
 
b = tk.Button(master, text="执行", command=callback)
b.pack()
 
master.mainloop()

ここに画像を挿入説明
ここに画像を挿入説明

ボタンは、関数またはメソッドに関連付けられていない場合、それは無用です。あなたは、テストユーザーが戸惑う原因を回避するように、より良いアプローチは、ボタンを無効にすることである。この場合には、プログラムの開発プロセスには、このボタンを使用することができます。

b = tk.Button(master, text="不执行", state="disabled")

ここに画像を挿入説明
あなたがラベルのサイズを指定しない場合、ラベルのサイズがちょうどその内容のみに対応します。あなたはボタンの内容と国境間の余分なスペースを追加するpadxとpadyオプションを使用することができます。

もちろん、あなたが明示的に高さと幅オプションによってサイズボタンを設定することができます。あなたがテキストを表示する場合は、これら2つのオプションのテキストはボタンの単位セルサイズとして定義され、あなたがビットマップまたは画像を表示する場合、それらはピクセル単位のボタンサイズは、ユニット(又は他の画面単位)として定義されます。

Buttonコンポーネントのテキストの内容に関しては、あなたが指定したサイズButttonのピクセルを使用することができますが、これは、いくつかのスキルが必要です。ここでは(達成するための他の方法がある)あなたの参照のための方法を提供します。

def callback():
    print("我被调用了!")
f = tk.Frame(master, height=64, width=64)
f.pack_propagate(0)
f.pack()
 
b = tk.Button(f, text="确定", command=callback)
b.pack(fill="both", expand=1)

ここに画像を挿入説明

ボタンは、複数行のテキストを表示することができます達成するために改行または直接使用wraplengthオプションを使用することができます。テキストが折り返さとき、あなたはあなたがそれらを表示するようテキストを作るためにアンカーを使用し、正当化とpadxオプションすることができます:

def callback():
    print("我被调用了!")
longtext = """
我明明只是一个按钮,
作为按钮并不需要太多
的文字用于告诉用户当
我被按下的时候会发生
什么事情,但我为什么
这么长?
"""
b = tk.Button(master, text=longtext, anchor="w", justify="left", padx=2, command=callback)
b.pack()

ここに画像を挿入説明

通常のボタンを作るためにあなたがこれを使用していることを、凹型ダウンを保つために彼を押したツールバーボタンの左側のPhotoshopのように(たとえば、あなたには、いくつかの方法で、ツールボックスを実装する、状態を「押す」のままこのツールは)、あなたは、単にデフォルトの救済オプションは「沈没」に変更「隆起」ことができます。

b.config(relief="sunken")

ここに画像を挿入説明
また、背景色を変更することもできます。しかし、より良いアプローチは、チェックボタンとラジオボタンコンポーネントを使用し、Falseに設定されているindicatoronオプションでそれらを置くことです。

b = tk.Checkbutton(master, image=bold, variable=var, indicatoron=False)

中のTkinterの以前のバージョンでは、画像オプションは、テキストオプションを上書きします。次の2つのオプションを指定すると、この手段は、画像のみのオプションが表示されていること。しかし、新しいTkinterでは、次の2つのブレンドモードを設定する化合物のオプションを使用することができます。以下のテキストは、画像(重畳表示)の上方に位置するように、例えば、化合物=「センター」、によって提供されます。

photo = tk.PhotoImage(file = 'botton.gif')
b = tk.Button(master, text="点我", font = 20, image = photo, compound = "center")
 
b.pack()

ここに画像を挿入説明
「左」、「右」、「上」と「下」で、次のテキストに提供することができる画像表示されます:

b = tk.Button(master, text="点它 ->", font = 20, image = photo, compound = "right")

ここに画像を挿入説明

##参数
ボタン(マスター=なし、**オプション)(クラス)

マスター - 親コンポーネント

**オプション - 各オプションのコンポーネントオプション、テーブルの詳細以下の特定の意味と用法:

オプション 意味
activebackground 1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的背景色
2. 默认值由系统指定
activeforeground 1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的前景色
2. 默认值由系统指定
anchor

1. 控制文本(或图像)在 Button 中显示的位置

2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或者 "center" 来定位(ewsn 代表东西南北,上北下南左西右东)
3. 默认值是 "center"

background 1. 设置背景颜色
2. 默认值由系统指定
bg 跟 background 一样
bitmap 1. 指定显示到 Button 上的位图
2. 如果指定了 image 选项,则该选项被忽略
borderwidth 1. 指定 Button 的边框宽度
2. 默认值由系统指定,通常是 1 或 2 像素
bd 跟 borderwidth 一样
compound

1. 控制 Button 中文本和图像的混合模式
2. 默认情况下,如果有指定位图或图片,则不显示文本

3. 如果该选项设置为 "center",文本显示在图像上(文本重叠图像)
4. 如果该选项设置为 "bottom","left","right" 或 "top",那么图像显示在文本的旁边(如 "bottom",则图像在文本的下方)
5. 默认值是 NONE

cursor 1. 指定当鼠标在 Button 上飘过的时候的鼠标样式
2. 默认值由系统指定
default 1. 如果设置该选项("normal"),该按钮会被绘制成默认按钮
2. Tkinter 会根据平台的具体指标来绘制(通常就是绘制一个额外的边框)
2. 默认值是 "disable"
disabledforeground 1. 指定当 Button 不可用的时候前景色的颜色
2. 默认值由系统指定
font 1. 指定 Button 中文本的字体
2. 一个 Button 只能设置一种字体
3. 默认值由系统指定
foreground 1. 设置 Button 的文本和位图的颜色
2. 默认值由系统指定
fg 跟 foreground 一样
height 1. 设置 Button 的高度
2. 如果 Button 显示的是文本,那么单位是文本单元
3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出高度
highlightbackground 1. 指定当 Button 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightcolor 1. 指定当 Button 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness 1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)
image 1. 指定 Button 显示的图片
2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
3. 该选项优先于 text 和 bitmap 选项
justify

1. 定义如何对齐多行文本

2. 使用 "left","right" 或 "center"
3. 注意,文本的位置取决于 anchor 选项
4. 默认值是 "center"

overrelief 1. 定义当鼠标飘过时 Button 的样式
2. 如果不设置,那么总是使用 relief 选项指定的样式
padx 指定 Button 水平方向上的额外间距(内容和边框间)
pady 指定 Button 垂直方向上的额外间距(内容和边框间)
relief 1. 指定边框样式
2. 通常当按钮被按下时是 "sunken",其他时候是 "raised"
3. 另外你还可以设置 "groove"、"ridge" 或 "flat"
4. 默认值是 "raised"
repeatdelay 见下方 repeatinterval 选项的描述
repeatinterval 1. 通常当用户鼠标按下按钮并释放的时候系统认为是一次点击动作。如果你希望当用户持续按下按钮的时候(没有松开),根据一定的间隔多次触发按钮,那么你可以设置这个选项。
2. 当用户持续按下按钮的时候,经过 repeatdelay 时间后,每 repeatinterval 间隔就触发一次按钮事件。
3. 例如设置 repeatdelay=1000,repeatinterval=300,则当用户持续按下按钮,在 1 秒的延迟后开始每 300 毫秒触发一次按钮事件,直到用户释放鼠标。
state 1. 指定 Button 的状态
2. 默认值是 "normal"
3. 另外你还可以设置 "active" 或 "disabled"
takefocus 1. 指定使用 Tab 键可以将焦点移到该 Button 组件上(这样按下空格键也相当于触发按钮事件)
2. 默认是开启的,可以将该选项设置为 False 避免焦点在此 Button 上
text 1. 指定 Button 显示的文本
2. 文本可以包含换行符
3. 如果设置了 bitmap 或 image 选项,该选项则被忽略
textvariable 1. Button 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
2. 如果变量被修改,Button 的文本会自动更新
underline 1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键)
2. 默认值是 -1
3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线
width 1. 设置 Button 的宽度
2. 如果 Button 显示的是文本,那么单位是文本单元
3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出宽度
wraplength 1. 决定 Button 的文本应该被分成多少行
2. 该选项指定每行的长度,单位是屏幕单元
3. 默认值是 0

##方法

— 刷新 Button 组件,该方法将重绘 Button 组件若干次(在 “active” 和 “normal” 状态间切换)。
invoke()

— 调用 Button 中 command 选项指定的函数或方法,并返回函数的返回值。
— 如果 Button 的state(状态)是 “disabled”(不可用)或没有指定 command 选项,则该方法无效。


次へ:Pythonの- (3)Tkinterのウィジェット:チェックボタン

公開された247元の記事 ウォンの賞賛116 ビュー280 000 +

おすすめ

転載: blog.csdn.net/w15977858408/article/details/104148047