欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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的控制台上玩耍。

那么接下来,我们要玩点花活儿了。下回见。