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选项即可。
from tkinter import * root = Tk()
photo = PhotoImage(file='bg.gif')
thelable = Label(root,
text = 'study python',
justify=LEFT,
image= photo,
compound=CENTER,
font=('宋体',20),
fg='white')
thelable.pack()
mainloop()
结果图:

Button组件
Button组件是用于实现一个按钮,它的绝大多数选项和Label组件是一样的,不过Button组件有一个Label组件实现不了的功能,那就是可以接收用户的信息。Button组件有一个command选项,用于指定一个函数或方法,当用户单击按钮的时候,Tkinter就会自动地调用这个函数或方法。
来我们修改上面的Label的那个例子,增加一个按钮,在按钮被单击后Label文本发生改变。想要文本发生改变,只需要设置textvariable选项为Tkinter变量即可:
#
from tkinter import * def callback():
var.set('我才不信了,骗子') root = Tk()
frame1 = Frame(root)
frame2 = Frame(root)
var = StringVar()
var.set('您所下载的影片含有未成年限制内容,\n请满18岁再查看')
textLable = Label(frame1,
textvariable=var,
justify=LEFT)
textLable.pack(side=LEFT) photo = PhotoImage(file='18.gif') #用PhotoImage实例化一个图片对象,注:支持gif的
imglable = Label(root,image=photo) #创建一个图像Label的对象
imglable.pack(side=RIGHT) theButton = Button(frame2,text='我已经满18岁',command=callback) #增加一个按钮
theButton.pack() frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=10)
mainloop()
结果如下:我这里放两张图片了


GUI的最终选择 Tkinter(二):Label和Button组件的更多相关文章
- GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件
Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...
- GUI的最终选择Tkinter模块初级篇
一.Tkinter模块的基本使用 1)实例化窗口程序 import tkinter as tk app = tk.Tk() app.title("FishC Demo") app. ...
- Python之GUI的最终选择(Tkinter)
首先,Tkinter是Python默认的GUI库,想IDLE就是用Tkinter设计出来的,因此直接导入Tkinter模块就可以啦 1 import tkinter (1)Tkinter初体验: 1 ...
- GUI的最终选择 Tkinter(五):Text用法
Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...
- GUI的最终选择 Tkinter(四):Entry、Listbox、Scrollbar和Scale组件
Entry组件 Entry组件就是平时所说的输入框.输入框是程序员用到的最多的一个程序,例如在输入账号和密码的时候需要提供两个输入框,用于接收密码的输入框还会有星号将实际输入的内容隐藏起来. Tkin ...
- GUI的最终选择 Tkinter(一):Tkinter最初体验
EasyGui就是一个简单的文字交互界面模块,从今天开始来开始学习Tkinter Tkinter是Python标准的Gui库,它实际是建立在Tk技术上的,Tk最初是为Tcl(一门工具名语言)所涉及的, ...
- GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件
Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...
- GUI的最终选择 Tkinter(九):事件
Tkinter事件处理 Tkinter应用会花费大部分的时间在处理事件循环中(通过mainloop()方法进入),事件可以是触发的鼠标,键盘的操作,管理窗口触发的重绘事件(在多数情况下都是有用户间接引 ...
- GUI的最终选择 Tkinter(八):Message组件、Spinbox组件、PanedWindow组件、Toplevel组件
Message组件 Message(消息)组件是Label组件的变体,用于显示多行文本消息,Message组件能够自动执行,并调整文本的尺寸使其适应给定的尺寸. from tkinter import ...
随机推荐
- 一个内存增长问题的分析和处理(二)——valgrind工具的用法
valgrind是linux下对C++和C程序进行内存泄露检测的工具,除了内存检测,valgrind还提供了很多其他的功能,这里主要介绍下valgrind的内存检测的功能. 首先是文件的下载,valg ...
- Django-进阶 分页,中间件
知识预览 分页 中间件 回到顶部 分页 Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Cr ...
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
java.util.Date.java.sql.Date.java.sql.Time.java.sql.Timestamp区别和联系 栏目:Java基础 作者:admin 日期:2015-04-19 ...
- Math(2)
Math(2) public static void main(String[] args) { System.out.println(Math.floor(-32.8)); //常数 System. ...
- Mac系统的launchd、守护进程daemon(2013笔记整理)
1. launchd Mac系统下通用的进程管理器,是Mac系统下非常重要的一个进程,一般来说该进程不允许直接以命令行的形式调用.只能通过其控制管理界面,launchctl来进行控制. launchd ...
- macos上改变输入法顺序
设置界面上是不能拖放顺序的,唯一解决办法是: 一.先选择所有文档使用相同输入源 二.选择用美国英语 三.再选择允许多个输入源,再打开原来的中文输入法 顺序就调过来了!尼玛,这就是苹果的人性化?懒得吐嘈 ...
- MVC项目中的分页实现例子
在开发项目中,写了一个分页实现的例子,现在把源代码贴上,以供以后写代码时参考 在列表的头部,有如下显示, 这个代表一个页面显示10条记录,总共22条记录. 这个是页面底部的显示 那么如何来显示这个分页 ...
- 5. Python大法之告别脚本小子--各类URL采集器编写
在i春秋上面,有很多不错的脚本: https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid=137 http ...
- 不出现用户帐户控制-让Win7的用户账户控制(UAC)放过信任的程序
微软有个官方工具 Microsoft Application Compatibility Toolkit: http://www.microsoft.com/downloads/details.asp ...
- HTML5学习笔记(七)WebSocket
WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.在WebSocket API中,浏览器和服务器只需要做一个握手的动作 浏览器通过 JavaScript 向服务器 ...