【Python】Label组件 Button组件 Checkbutton组件

本文介绍了Tkinter GUI库中的三个重要组件:Label、Button和Checkbutton。Label组件主要用于展示描述性文本,能与图片结合使用;Button组件提供交互功能,点击后可触发指定函数;Checkbutton则用于创建多选按钮,用户可进行多项选择。

Label组件

Label组件是用于在界面上输出描述的标签。


#导入tkinter模块所有内容
from tkinter import *

#创建一个主窗口,可以容纳整个GUI程序
root = Tk()
root.title("hhh")

textLabel = Label(root,text="努力努力再努力!\n努力努力再努力!!\n努力努力再努力!!!"
                  ,justify=LEFT)
#justify选项将文本向左对齐,没有justify则文本是居中对齐

textLabel.pack(side=LEFT)

#创建一个图像Label对象
#用PhotoImage实例化一个图片的对象
photo = PhotoImage(file='C:\\Users\\W\\Desktop\\img.gif')#gif动画在你电脑上的位置,注意是双斜杠

imgLabel = Label(root, image=photo)
imgLabel.pack(side=RIGHT)

root.mainloop()

效果图效果图原gif动画原gif动画

有的时候可能需要将图片和文字分开,例如将图片作为背景,文字显示在图片的上面,只需要设置compound选项即可。

from tkinter import  *

root = Tk()
photo = PhotoImage(file="C:\\Users\\W\\Desktop\\background.gif")

theLable = Label(root,
                 text="努力努力再努力\n努力努力再努力",
                 image=photo,
                 compound=CENTER,#设置文本和图像混合的模式
                 font=("方正姚体",50),#设置字体和字号
                 fg="white")#设置文本颜色
theLable.pack()
mainloop()

 

效果图效果图

 

原gif动画

 Button组件

Button组件用于实现一个按钮,它的绝大多数选项和Label组件是一样的。

不过Button组件有一个Label组件实现不了的功能,就是可以接受用户的信息。

Button组件有一个command选项,用于指定一个函数或者方法,当用户单击按钮的时候,Tkinter就会自动地去调用这个函数或者方法。

from tkinter import  *

def callback():
    var.set("努力努力再努力!")

root = Tk()
frame1 = Frame(root)
frame2 = Frame(root)
#创建一个文本label对象
var = StringVar()
var.set("")
textLabel = Label(frame1,
                  textvariable=var,
                  font=("方正姚体",10),
                  justify=LEFT)
textLabel.pack(side=BOTTOM)
#创建一个图像Label对象
#用PhotoImage实例化一个图片对象(支持gif图片格式)
photo = PhotoImage(file="C:\\Users\\W\\Desktop\\img.gif")
imgLabel=Label(frame1,image=photo)
imgLabel.pack(side=RIGHT)
#加一个按钮
theButton = Button(frame2,text="张艺兴",bg='pink',command=callback)
theButton.pack()
frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=10)
mainloop()

点击张艺兴这个按钮后,出现后面那张图

尝试了一下如果把frame2全部删掉,只用frame1,按钮会跑到左上角。

Checkbutton组件

Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮。

from tkinter import *

root = Tk()
#需要一个Tkinter变量,用于表示该按钮是否被选中
v = IntVar()
c = Checkbutton(root,text="测试一下",variable=v)
c.pack()
#如果选项被选中,那么变量的值为1,否则为0
#可以用Label标签动态展示:
l=Label(root,textvariable=v)
l.pack()
mainloop()

     (上面程序结果)(下面程序结果,可以进行多选)

from tkinter import *

root = Tk()
numbers = ["one","two","three","four"]
v=[]
for number in numbers:
    v.append(IntVar())
    b = Checkbutton(root,text=number,variable=v[-1])
    b.pack(anchor=W)#W代表West,不加W或者其他显示位置的缩写,可能会看上去不整齐
mainloop()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值