Featured image of post Python Basic 28 Tkinter Button Widget

Python Basic 28 Tkinter Button Widget

本篇文章主要 Python Tkinter 的 Button Widget

Button 是 Tkinter 中最常用的控件之一~让我们来看看它的基本用法和变量绑定方法吧!(ノ◕ヮ◕)ノ*:・゚✧

1. 基本 Button 创建

首先是最简单的 Button 创建方法 (¯︶¯)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from tkinter import *

root = Tk()
root.title("Button Demo")

# 创建按钮
btn = Button(root, text="点击我!")
btn.pack()

root.mainloop()

效果就是出现一个写着"点击我!“的按钮(`・ω・´)

2. 按钮事件绑定

让按钮真正有用要绑定事件哦 (ง •̀_•́)ง

1
2
3
4
def button_click():
    print("按钮被点击啦~")

btn = Button(root, text="点击我!", command=button_click)

或者用 lambda 表达式:

1
2
btn = Button(root, text="点击我!", 
            command=lambda: print("λ表达式真方便!"))

3. Button样式设置

美化按钮是很有必要的 (★ω★)

1
2
3
4
5
6
7
8
9
btn = Button(root,
            text="漂亮的按钮",
            bg="lightblue",  # 背景色
            fg="blue",       # 前景(文字)色
            font=("Arial", 14, "bold"),
            padx=20,         # 水平内边距
            pady=10,         # 垂直内边距
            relief=RAISED,   # 3D效果
            borderwidth=3)

4. 变量绑定 (重点来啦! ╰(°▽°)╯)

Tkinter 按钮可以和变量绑定,实现状态控制:

4.1 使用 IntVar 控制按钮状态

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from tkinter import *

root = Tk()

# 创建IntVar
btn_state = IntVar(value=1)  # 1表示启用,0表示禁用

def toggle_button():
    if btn_state.get() == 1:
        btn.config(state=DISABLED)
        btn_state.set(0)
    else:
        btn.config(state=NORMAL)
        btn_state.set(1)

btn = Button(root,
            text="可切换按钮",
            state=NORMAL if btn_state.get() else DISABLED,
            command=toggle_button)
btn.pack()

root.mainloop()

4.2 使用 StringVar 动态改变按钮文本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from tkinter import *

root = Tk()

# 创建StringVar
btn_text = StringVar(value="初始文本")

def change_text():
    btn_text.set("新文本 " + str(time.time()))

btn = Button(root,
            textvariable=btn_text,
            command=change_text)
btn.pack()

root.mainloop()

5. 其他有用方法 (`・ω・´)ゞ

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 禁用按钮
btn.config(state=DISABLED)

# 启用按钮
btn.config(state=NORMAL)

# 改变按钮文本
btn.config(text="新文本")

# 获取按钮当前文本
current_text = btn.cget("text")

总结 (•̀ᴗ•́)و

Button Widget 要点总结:

  • 使用 Button() 创建按钮
  • 通过 command 参数绑定事件
  • 可以使用 textvariable 绑定变量
  • 多种样式设置方法让按钮更好看
  • 可通过 state 控制按钮状态

希望这份指南对你有帮助!如果有问题欢迎提问~(づ。◕‿‿◕。)づ

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计