Python GUI编程实战--Tkinter组件详解:Button

Button控件
Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。
语法
bt = Button ( master, option=value, … )
master: 按钮的父容器。
options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。

常用组件选项讲解:
text:按钮的文本内容
image:按钮上要显示的图片

command:按钮关联的函数,当按钮被点击时,执行该函数

height:按钮的高度
width:按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)

fg:按钮的前景色(按钮文本的颜色)
bg:按钮的背景色

padx:按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离
pady:按钮在y轴方向上的内边距(padding)

activebackground:当鼠标放上去时,按钮的背景色
activeforeground:当鼠标放上去时,按钮的前景色

font:文本字体

bd:按钮边框的大小,默认为 2 个像素

highlightcolor:要高亮的颜色

justify:显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER

relief:边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。

state:设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。

underline:下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推

wraplength:限制按钮每行显示的字符的数量

anchor:锚选项,控制文本的位置,默认为中心

Button方法
以下为组件常用的方法:
deselect():清除单选按钮的状态
flash():在激活状态颜色和正常颜色之间闪烁几次单选按钮,但保持它开始时的状态。
invoke():可以调用此方法来获得与用户单击单选按钮以更改其状态时发生的操作相同的操作
select():设置单选按钮为选中。
实战内容:
1.制作一个按钮,点击后,弹出hello消息框

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

def hello():
    # 消息框
    messagebox.showinfo("Hello Python", "Hello!")

bt = tk.Button(root, text="click", command=hello)
bt.pack()
root.mainloop()

Python GUI编程实战--Tkinter组件详解:Button_第1张图片
2.制作一个按钮,每点击一次,便在label上显示点击的奇偶次数

import tkinter as tk

window = tk.Tk()
window.title("My Window")
window.geometry('200x100')
# 将var定义为StringVar,并赋值给label的textvariable
# 使其能够跟随var的变化而变化
var = tk.StringVar()
label = tk.Label(window, textvariable=var, bg='green',
                 font=('Arial', 12), width=15, height=2)
label.pack()
times = 0
def click():
    global  times
    times += 1
    if times % 2 == 0:
        var.set('click even')
    else:
        var.set('click odd')
bt = tk.Button(window, text='click', width=15, height=2,command=click)
bt.pack()
window.mainloop()

Python GUI编程实战--Tkinter组件详解:Button_第2张图片
通过以上内容,相信大家对Tkinter的Button组件,有了更进一步的了解,相信大家可用用它了做一个简单的计时器了吧?快一起来坐坐看吧,加油!
Python交流群:942913325 欢迎大家一起交流学习

你可能感兴趣的:(python学习,GUI编程,Tkinter)