前言:
此刻同学们对“python常用模块tkinter”大体比较讲究,小伙伴们都想要剖析一些“python常用模块tkinter”的相关知识。那么小编在网上搜集了一些关于“python常用模块tkinter””的相关知识,希望各位老铁们能喜欢,咱们快快来了解一下吧!在之前,我们已经通过Tkinter运行了一个简单的图形窗口,也讲解了这个界面中各个组件以及组件背后各个代码的作用。
但是这样的几行代码却没有办法让我们的程序成功的做到我们想要做的事情。
想要继续,我们就需要不断的对图形化界面进行填充。
那么我们现在填充些什么东西进去呢?
我们准备讲解的是标签和按钮
那么我们可以试试做一下通过按钮控制便签变化颜色和文字,做一个手工的交通灯怎样?
在这个之前,我们上篇文章我们已经做了些什么。
一、标签
在这个之前,我们上篇文章已经做了些什么。
嗯,在这个界面上我们已经有了一个标签了。
现在我想要在加上两个标签,怎么做呢?
很简单,多加几行代码就行了。
代码如下
theLabel1=tk.Label(root,text='我是第一个标签')theLabel2=tk.Label(root,text='我是第二个标签')theLabel3=tk.Label(root,text='我是第三个标签')theLabel1.pack()theLabel2.pack()theLabel3.pack()
这样我就做好了三个标签了,当然,编写的时候一定要记住每个标签的名字都不能一样,假如一样的话会怎样呢?我们把代码写成这样试试。
theLabel1=tk.Label(root,text='我是第一个标签')theLabel1=tk.Label(root,text='我是第二个标签')theLabel3=tk.Label(root,text='我是第三个标签')theLabel1.pack()theLabel1.pack()theLabel3.pack()
看一下结果
标签显示就会少一个,因为被覆盖了,相同的参数名字只会显示最后一个参数的值。
那么标签就摆放完成了。
我们需要继续做的就是给标签上色。
红绿灯有哪几种颜色:红绿黄。
还记得小时候学习交通知识的时候我们记住的那句话:
红灯停,绿灯行,黄灯亮了等一等。
其实一个标签就可以实现各个灯之间的转换,但是为了更像红绿灯,我选择三个标签。
怎样,就是想玩玩呗,你们小时候玩过家家不得想办法把啥都配齐啊~~~
好了好了,我们先对一个标签进行上色。
很简单,创建标签的时候加上颜色就行了
theLabel1=tk.Label(root,text='我是第一个标签',bg="red")
现在,便签变成了红色。
theLabel1=tk.Label(root,text='我是第一个标签',bg="yellow")
现在,便签又变成了黄色。
theLabel1=tk.Label(root,text='我是第一个标签',bg="green")
现在,便签又变成了绿色。
这样我们的标签就已经有了三色了。
对三个标签同时上色。
theLabel1=tk.Label(root,text='我是红色',bg="red")theLabel2=tk.Label(root,text='我是黄色',bg="yellow")theLabel3=tk.Label(root,text='我是绿色',bg="green")
运行结果:
二、按钮
现在,我们有三个标签了,怎么加上按钮呢?
在后面加代码就行了
theButton=Button(text="我是按钮")theButton.pack()
运行结果:
可以尝试点击一下,会播放点击效果的。
可是,除了点击效果,好像也没什么作用啊!
那是因为我们没有给他绑定点击事件。
theButton=Button(text="我是按钮",command = changecoler)theButton.pack()
我们为了按钮绑定了一个名字叫changecoler的函数(前面的文章有提过,实在不理解自行百度)。此时,点击按钮,程序就会执行所绑定的函数。
这个函数里面,我们可以让他检测现在第一个标签是什么颜色:
如果是“red”,我们就让它变为“gray”
如果不是“red”,那我们就让他变为“red”
def changecoler(): if theLabel1["bg"] == "red": theLabel1["bg"] = "gray" else: theLabel1["bg"] = "red"
把代码放到theButton=Button(text="我是按钮",command = changecoler)上面,不然的话。
现在,运行并且点击按钮。
那么,我们需要在点击时实现红绿灯的效果怎么做呢?
num = 0def changecoler(): global num if num == 0: theLabel1["bg"] = "red" theLabel2["bg"] = "goldenrod" theLabel3["bg"] = "green" num += 1 elif num == 1: theLabel1["bg"] = "brown" theLabel2["bg"] = "gold" theLabel3["bg"] = "green" num += 1 elif num == 2: theLabel1["bg"] = "brown" theLabel2["bg"] = "goldenrod" theLabel3["bg"] = "greenyellow" num = 0
额,这玩意可以选择的颜色太多了,我觉得red、yellow、green实在不怎么好看,所以在颜色库里面重新选择了几个颜色,想要知道有多少颜色可以选的,可以在这个链接去看看。
;id=299
最终效果:
颜色你们可以试试哪些更好
奉上源代码:
import tkinter as tk#创建一个主窗口num = 0def changecoler(): global num if num == 0: theLabel1["bg"] = "red" theLabel2["bg"] = "goldenrod" theLabel3["bg"] = "green" num += 1 elif num == 1: theLabel1["bg"] = "brown" theLabel2["bg"] = "gold" theLabel3["bg"] = "green" num += 1 elif num == 2: theLabel1["bg"] = "brown" theLabel2["bg"] = "goldenrod" theLabel3["bg"] = "greenyellow" num = 0root=tk.Tk()#设置主窗口对象的标题栏root.title("主窗口")root.geometry('500x500+500+200') #添加一个Label组件,可以显示文本、图标或者图片theLabel1=tk.Label(root,text='我是红色',bg="brown")#添加一个Label组件,可以显示文本、图标或者图片theLabel2=tk.Label(root,text='我是黄色',bg="goldenrod")#添加一个Label组件,可以显示文本、图标或者图片theLabel3=tk.Label(root,text='我是绿色',bg="green")theButton=Button(text="我是按钮",command = changecoler)# 然后调用Label组件下的pack()方法,用于自动调节组件自身的尺寸theLabel1.pack()theLabel2.pack()theLabel3.pack()theButton.pack()#窗口可拉伸范围root.resizable(0,10)#显示窗口命令root.mainloop()
好了,这就是一个Tkinter 模块的便签和按钮了。
万事开头难,后面更难。
我是一名软件测试工程师,学习python可以让我的工作更加方便,大家也积极动手做起来,通过编程让自己的工作更方便,谢谢观看!