tkinter应知应会(二):按钮控件
程序员文章站
2022-07-12 22:31:58
...
按钮是人机交互的精髓,没有按钮还叫人机交互么。接下来介绍按钮。
<日常吐槽>
说实在的,这么一个一个知识点地讲解知识,真不是我喜欢的风格。我就喜欢直奔主题,冲着某个项目或者功能去。但是……实力不允许啊。tkinter是一个挺麻烦的框架,需要储备一堆的基础知识才能进入主题。相比起来,easygui就友好多了。
但是,简洁、功能、可定制和美观,总是很难在一个框架里实现(这一点让我由衷佩服keras)。所以,我打算每一讲都吐槽一下tkinter。哈哈哈
<进入正题>
1,先实现一个button
创建一个button很简单,但是想要button干活儿,就有点复杂了。最基本的方法是,我们需要实现的功能封装进一个函数,然后用“command=函数名”,来调用这个功能。画风如下:
# 按钮控件
import tkinter as tk
def clickme():
print('啊,我被点击了')
root = tk.Tk()
button = tk.Button(root,text='点我点我',command=clickme)
button.pack()
root.mainloop()
按下按钮后,输出如下:
啊,我被点击了
啊,我被点击了
啊,我被点击了
啊,我被点击了
这……感觉还没实现啥功能呢,代码就开始复杂起来了。
2,button和label携手
以下代码,每点击一次按钮,就会出发一次say()函数。而say()函数的作用,是新建一个label
import tkinter as tk
font = ('微软雅黑',16) # 把上一讲字体相关的内容带上
def say():
label = tk.Label(root,text='我爱python',font=font)
label.pack()
root = tk.Tk()
button = tk.Button(root,text='测试',command=say,font=font)
button.pack()
root.mainloop()
好吧,不得不说,上面这个功能挺鸡肋的。不过,至少我们把按钮按下的交互反馈,都放进了root()里,而不是回到jupyter的控制台上玩耍。
那么接下来,我们要玩点花活儿了。下回见。