GUI的最终选择 Tkinter(二):Label和Button组件

Label组件

Lable组件是用于界面上输出描述的标签,例如提示用户“您下载的电影含有未成年人限制内容,请满18岁以后点击观看!”,先来上结果图:

在来看下它的代码:

from tkinter import *

root = Tk()
#创建一个文本Label对象
textLable = Label(root,                  text=‘您所下载的影片含有未成年限制内容,\n请满18岁再查看‘)
textLable.pack(side=LEFT)
photo = PhotoImage(file=‘18.gif‘)
imglable = Label(root,image=photo)
imglable.pack(side=RIGHT)
mainloop()

显示不太好看,所以我们修改下,在字符串中使用\n对显示的文本进行换行

如果想将文字部分左对齐,并在水平位置与边框留有距离,只要设置Label的justify和padx选项即可。

完整代码如下:

from tkinter import *

root = Tk()
#创建一个文本Label对象
textLable = Label(root,                  text=‘您所下载的影片含有未成年限制内容,\n请满18岁再查看‘,                  justify=LEFT,                   padx=10)
textLable.pack(side=LEFT)
photo = PhotoImage(file=‘18.gif‘)
imglable = Label(root,image=photo)
imglable.pack(side=RIGHT)
mainloop()

这是图片和文字分开的,但是有时候需要文字显示在图片的上面,那么我们只需要设置compound选项即可。

 1 from tkinter import *
 2
 3 root = Tk()
 4 photo = PhotoImage(file=‘bg.gif‘)
 5 thelable = Label(root,
 6                  text = ‘study python‘,
 7                  justify=LEFT,
 8                  image= photo,
 9                  compound=CENTER,
10                  font=(‘宋体‘,20),
11                  fg=‘white‘)
12 thelable.pack()
13 mainloop()

结果图:

Button组件

Button组件是用于实现一个按钮,它的绝大多数选项和Label组件是一样的,不过Button组件有一个Label组件实现不了的功能,那就是可以接收用户的信息。Button组件有一个command选项,用于指定一个函数或方法,当用户单击按钮的时候,Tkinter就会自动地调用这个函数或方法。

来我们修改上面的Label的那个例子,增加一个按钮,在按钮被单击后Label文本发生改变。想要文本发生改变,只需要设置textvariable选项为Tkinter变量即可:

 1 #
 2 from tkinter import *
 3
 4 def callback():
 5     var.set(‘我才不信了,骗子‘)
 6
 7 root = Tk()
 8 frame1 = Frame(root)
 9 frame2 = Frame(root)
10 var = StringVar()
11 var.set(‘您所下载的影片含有未成年限制内容,\n请满18岁再查看‘)
12 textLable = Label(frame1,
13                   textvariable=var,
14                   justify=LEFT)
15 textLable.pack(side=LEFT)
16
17 photo = PhotoImage(file=‘18.gif‘)  #用PhotoImage实例化一个图片对象,注:支持gif的
18 imglable = Label(root,image=photo)  #创建一个图像Label的对象
19 imglable.pack(side=RIGHT)
20
21 theButton = Button(frame2,text=‘我已经满18岁‘,command=callback) #增加一个按钮
22 theButton.pack()
23
24 frame1.pack(padx=10,pady=10)
25 frame2.pack(padx=10,pady=10)
26 mainloop()

结果如下:我这里放两张图片了

原文地址:https://www.cnblogs.com/pinpin/p/9937426.html

时间: 2024-10-09 19:15:45

GUI的最终选择 Tkinter(二):Label和Button组件的相关文章

GUI的最终选择Tkinter模块初级篇

一.Tkinter模块的基本使用 1)实例化窗口程序 import tkinter as tk app = tk.Tk() app.title("FishC Demo") app.mainloop() 2)窗口生成一个标题文本 import tkinter as tk # 第一步实例化tk,用于容纳整个程序 app = tk.Tk() app.title("FishC Demo") # 设置标题栏 # 第二步,用于显示文本,或图片 thelabel =tk.Labe

Python之GUI的最终选择(Tkinter)

首先,Tkinter是Python默认的GUI库,想IDLE就是用Tkinter设计出来的,因此直接导入Tkinter模块就可以啦 1 import tkinter (1)Tkinter初体验: 1 import tkinter as tk 2 3 # 创建一个主窗口,用于容纳整个GUI程序 4 root = tk.Tk() 5 # 设置主窗口对象的标题栏 6 root.title("NEW") 7 # 添加一个Label组件,Label组件是GUI程序中最常用的组件之一 8 # La

GUI的最终选择 Tkinter(六):Canvas组件

Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Canvas组件上绘制对象,可以用creat_xxx()方法(xxxvia表示对象类型,例如直线line,矩形rectangle和文本text等). 1 from tkinter import * 2 3 4 root = Tk() 5 w = Canvas(root,width=200,height=

GUI库之认识Tkinter(一)

一.介绍 Tkinter是Python默认的GUI库,我们经常使用的IDLE就是用Tkinter设计出来的,因此我们在使用的时候直接导入Tkinter模块就好了. 1.特点:可移植性.灵活性高 2.构成:Tk + interface = Tkinter 二.第一次体验Tkinter 1.接下来举个例: import tkinter as tk root = tk.Tk() # 创建一个主窗口,用于容纳整个GUI程序 root.title("YfacesClub") # 设置主窗口对象的

多次创业最终选择互联网,他的成功靠什么?

或许在互联网摸爬滚打的人都听过梦享网络,但不一定了解他们的CEO李鹤.成功都是一样的,但成功背后的故事各不相同.李鹤,一个从大学就开始创业尝试而且成绩不错的青年,从大学到中山的硕士攻读中再到两年的电信工作中,他多次创业从未放弃,最终选定了移动互联网领域.从一个3万元起家的穷创客到月入百万,他的成功靠什么?本文将为大家分享梦享网络CEO李鹤的创业历程: 他是一个连环创业者 李鹤,籍贯湖南,出生在广西南宁,现在是梦享网络的创始人和CEO.本科毕业于北京邮电大学,在中山大学读的硕士.用他自己的话说,他

Python tkinter 学习记录(一) --label 与 button

最简的形式 from tkinter import * root = Tk() # 创建一个Tk实例 root.wm_title("标题") # 修改标题 root.mainloop() # 进入root的事件循环 运行结果 label标签的使用 from tkinter import * root = Tk() root.wm_title("标题") w1 = Label(root, text="~~~~~~1号标签~~~~~~") w2 =

DotNet二维码操作组件ThoughtWorks.QRCode

DotNet二维码操作组件ThoughtWorks.QRCode 在生活中有一种东西几乎已经快要成为我们的另一个电子"身份证",那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) ,又称二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码.设备扫描二维条码,通过识别条码的长度和宽度中所记载的二进制数据,可获取其中所包含的信息.相比一维条码,二维码记载更复杂的数据,比如图片.网络链接等. 今天介绍一

【REACT NATIVE 系列教程之二】创建自定义组件&&导入与使用示例

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2219.html 在上一篇  [REACT NATIVE 系列教程之一]触摸事件的两种形式与四种TOUCHABLE组件详解 中的最后介绍了如何使用Touchable的四种组件进行监听触摸事件.  那么紧接着我们利用Touchable来包装一个带图片的Button组件,且设计成可接受很多自定义参数. 一:创建我们自定义

微信小程序把玩(二十三)modal组件

原文:微信小程序把玩(二十三)modal组件 modal弹出框常用在提示一些信息比如:退出应用,清楚缓存,修改资料提交时一些提示等等. 常用属性: wxml <!--监听button点击事件--> <button bindtap="listenerButton" type="primary">弹出modal</button> <!--弹出框--> <modal title="退出应用" hid