但是这样的几行代码却没有办法让我们的程序成功的做到我们想要做的事情。
想要连续,我们就须要不断的对图形化界面进行添补。
那么我们现在添补些什么东西进去呢?

我们准备讲解的是标签和按钮
那么我们可以试试做一下通过按钮掌握便签变革颜色和笔墨,做一个手工的交通灯若何?
在这个之前,我们上篇文章我们已经做了些什么。
一、标签
在这个之前,我们上篇文章已经做了些什么。
嗯,在这个界面上我们已经有了一个标签了。
现在我想要在加上两个标签,怎么做呢?
很大略,多加几行代码就行了。
代码如下
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 numif num == 0:theLabel1[\"大众bg\"大众] = \"大众red\公众theLabel2[\"大众bg\公众] = \"大众goldenrod\"大众theLabel3[\公众bg\"大众] = \"大众green\"大众num += 1elif num == 1:theLabel1[\"大众bg\公众] = \公众brown\"大众theLabel2[\"大众bg\"大众] = \公众gold\"大众theLabel3[\"大众bg\"大众] = \"大众green\公众num += 1elif num == 2:theLabel1[\"大众bg\公众] = \"大众brown\"大众theLabel2[\公众bg\"大众] = \"大众goldenrod\公众theLabel3[\公众bg\"大众] = \"大众greenyellow\"大众num = 0
额,这玩意可以选择的颜色太多了,我以为red、yellow、green实在不怎么好看,以是在颜色库里面重新选择了几个颜色,想要知道有多少颜色可以选的,可以在这个链接去看看。
http://www.qhscript.com/index.php?c=article&id=299
终极效果:
颜色你们可以试试哪些更好
奉上源代码:
import tkinter as tk#创建一个主窗口num = 0def changecoler():global numif num == 0:theLabel1[\公众bg\"大众] = \"大众red\"大众theLabel2[\"大众bg\"大众] = \"大众goldenrod\公众theLabel3[\公众bg\"大众] = \"大众green\"大众num += 1elif num == 1:theLabel1[\公众bg\"大众] = \公众brown\"大众theLabel2[\"大众bg\"大众] = \"大众gold\"大众theLabel3[\公众bg\公众] = \公众green\"大众num += 1elif 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可以让我的事情更加方便,大家也积极动手做起来,通过编程让自己的事情更方便,感激不雅观看!