【Python】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动画
有的时候可能需要将图片和文字分开,例如将图片作为背景,文字显示在图片的上面,只需要设置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()
相关文章:

大厂线上案例复盘--代码漏洞
万无一失却实际上是形同虚设的代码逻辑漏洞 这是一则发生在某大厂的真实案例,出于脱敏名字这且不说。 这个系统因为第一次上线,流量非常的大。 所以需要灰度上线,所谓灰度方案很短,比如按照地理位置,先选择某个访问量…

使用Vue+Spring Boot实现Excel上传
写在最前 在上期教程中我们介绍了读写Excel与使用Selenium的入门方法,本期将介绍通过VueSpring Boot实现在WebApp中上传Excel导入测试脚本的功能。使用前后端分离的技术是因为这样便于后续功能的迭代,在本文中我们只涉及一个简单的前端界面及一个简单的后…

国信优易首席科学家周涛:大数据的商业应用
国信优易首席科学家周涛认为,大数据已经成为一个非常热的概念,但是当一个概念热到一定程度就会存在风险,甚至风险比机会还多。在大数据沙龙中,他和数据从业者们分享了自己所经历的大数据应用。 以下为周涛发言: 大数据…
【Python】Radiobutton组件 LabelFrame组件 Entry组件
Radiobutton组件 Radiobutton组件跟Checkbutton组件的用法基本一致,唯一不同的是Radiobutton实现的是“单选”的效果。 要实现这种互斥的效果,同组内的所有Radiobutton只能共享一个variable选项,并且需要设置不同的value选项值。 注释掉的也…

索引与联合索引使用注意
索引和联合索引看似很简单但是往往不一定用的对。 假设数据库2个字段a,b都是查询条件 第一个问题:是建立2个索引还是一个联合索引? 第二个问题:如果建立联合索引那么字段的顺序有什么讲究? 原则: 1.如果需要多个字…

用canvas实现一个vue弹幕组件
看B站时,对弹幕的实现产生了兴趣,一开始想到用css3动画去实现,后来感觉这样性能不是很好,查了下资料,发现可以用canvas实现,于是就摸索着写了一个简单的弹幕。弹幕功能支持动态添加弹幕弹幕不重叠自定义弹幕…

系统架构的过程 浮现式设计
系统架构如果设计之初就设计错了,那么必然是南辕北辙。 很多人做系统设计总是东一下,西一下,杂乱无章,想到那是那,然后系统的边界很大,总会有疏漏。 那么系统架构应该怎么设计呢? 首先来说分…
【Python】Listbox组件 Scrollbar组件 Scale组件
Listbox组件 在选项特别多的时候,Listbox是以列表的形式显示出来,并支持滚动条操作,所以在对于需要提供大量选项的情况下会更适用。 from tkinter import * root Tk() theLB Listbox(root,setgridTrue) theLB.pack() for item in ["…

Hive 按某列的部分排序 以及 删列操作
Hive 按某列的部分排序 以及 删列操作 脑袋果然还是智商不足。 涉及到的小需求: 某个表test 有一列 tc: a字符串b字符串c字符串 拼接组成把test表,按b字符串排序 输出遇到的问题: select 里面必须包含 order by 的列按b字符串排序…

docker 安装 RabbitMQ
1、镜像中国(http://www.docker-cn.com/registry-mirror):直接使用https://hub.docker.com下载镜像比较慢,使用镜像中国加速 使用例子:$ docker pull registry.docker-cn.com/library/rabbitmq:3.6-management 2、拉取…

编程容易犯的错
1.数字 比如分页默认从第0页开始,你不了解,写个1,这样数据也出来,但是就是少了第一条,这种错误比较难发现。 写代码对于数字需要敏感,不懂一定要搞懂。 2.参数 多参数做缓存拼凑一个key,之前…
深圳杯---无线回传拓扑规划
B题-无线回传拓扑规划(3人完成) 背景介绍 在城区建设基站,传输光纤部署最后一公里的成本高,光纤到站率低,全球综合来看低于60%;如果使用微波传输,由于微波只能在LOS(视距࿰…

Jmeter脚本 GUI和非GUI启动方式
2019独角兽企业重金招聘Python工程师标准>>> 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat 3.添加线程组 在TestPlan节点上右键,Add-->Threads(U…

前端效果参考地址
今天项目内容基本完善,没什么事情,就找了一些插件和好用的css动画,下面将一些链接地址分享出来 1、如果需要写阴影、圆角、渐变、弹性盒子等,请参考一下方式: 点击 2、轮播图、全屏滚动等动画: swiper效果 …
随机变量的数字特征(数学期望,方差,协方差与相关系数)
戳这里:概率论思维导图 !!! 数学期望 离散型随机变量的数学期望 (这里要求级数绝对收敛,若不绝对收敛,则E(X)不存在) 如果有绝对收敛,则有 ,其中 连续型…

Spring @bean冲突解决方案
引用2个jar都实现了相同的bean注入,这个是feign的Level Bean public Level feignLoggerLevel() {return Level.FULL; } 这样报错: escription:xxx required a single bean, but 2 were found:- feignLoggerLevel: defined by method feignLoggerLevel in class p…

javascript中实例方法与类方法的区别
在javascript中,类有静态属性和实例属性之分,也有静态方法和实例方法之分 类属性(静态属性):通过类直接访问,不需要声明类的实例来访问 类方法(静态方法):通过类直接访问…
vue 集成富文本tinymce
开发环境 1. vscode开发语言 1. vue 2. javaScript插件安装 1. npm install tinymce -S 2. 可以使用里面的文件, 下载后可以在node_modules 里面查看如下未目录结构3. 可以将整个结构拷在static里面,为了节省打包后的文件大小可以将tinymce.min.js以cdn方…

c语言中如何设计和编写一个应用系统?
C程序中,如何设计和编写一个应用系统?一、 C语言文件的操作1、 文件操作的基本方法:C语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等.向屏幕输出一个信息,例如“Hello”是#include.h>int main(){printf("Hello…

深圳杯---人才吸引力评价模型研究
人才吸引力评价模型研究 在世界各国和全国各地都加大争夺人才的背景下,一个城市要保持其竞争活力和创新力,必须与时俱进地但不盲目地调整相关人才吸引政策。2018年深圳市将加大营商环境改革力度作为一项重要工作,以吸引更多优秀的高新企业和…

不写容易出错的代码
下面2段代码都是完成商品名称的更新,只是第一种情况数据源是list第二种是map 第一代代码是从List里获取第0个 entity.setProduct_name(productList.get(0).getName()); 第二段代码从map里获取键值 entity.setProduct_name(productMap.get(pid).getName())); 如果…

【Vue】IView之table组件化学习(二)
最基本的绑定table是这样的,需要columns和data两个属性。 <template><Card><h4>表格栗子</h4><Table :columns"cols" :data"stuList"></Table></Card> </template><script> export defa…

show-busy-java-threads查找CPU占用高
背景:需要查找线上CPU占用过高的Java线程在做什么。 可以使用top命令找出占CPU高的进程 #top 然后按shiftC 按CPU占比排序 然后把进程中占比高的线程id找出来,这个是常见的套路,但是这样做比较繁琐。 可以使用show-busy-java-threads工具…

了解机器学习的八大专业术语
转自:https://www.sohu.com/a/217453268_178466 1 自然语言处理 自然语言处理对于许多机器学习方法来说是一个常用的概念,它使得计算机理解并使用人所读或所写的语言来执行操作成为了可能。 自然语言处理最重要的最有用的实例: ① 文本分类…

34.TokenInterceptor防止表单重复提交
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 由于某些原因,用户在进行类似表单提交的操作后,以为表单未被提交,会进行多次的重复提交。为了避免用户多次提交给服务器带来负荷。我们会对表单提交这样的操作进…

使用arthas采集火焰图
火焰图是用图形化的方式来展现profiler工具采集的性能数据,对数据进行统计和分析,方便找出性能热点。 现在我们使用arthas采集JVM的火焰图。 1.首先你需要安装arthas 说是安装其实就是下载解压,arthas是不需要安装的。 下载 — Arthas 3.5…

sudo配置文件详解及实战
2019独角兽企业重金招聘Python工程师标准>>> 安装NGINX之后每次都需要切换ROOT用户做配置文件修改和启动,为了加强安全,ROOT用户一般是不允许直接提供给应用开发人员或者运维人员的,所以需要提供一种方法可以一般用户执行ROOT用户…

Centos中文输入法安装以及切换
鼓捣鼓捣(我是一只菜鸟),终于在我的Centos上面装上我的大中华输入法了,哈哈哈哈下面就简单描述下安装过程吧!!!centos6.5用yum安装中文输入法打开终端,进入root用户(命令…

【MATLAB】矩阵信息的获取
1、矩阵结构 矩阵的结构是指矩阵子元素的排列方式。 函数名称函数功能isempty(A)检测矩阵是否为空isscalar(A)检测矩阵是否是单元素的标量矩阵isvector(A)检测矩阵是否是只具有一行或一列元素的一维向量issparse(A)检测数组是否是系数矩阵 返回1表示该矩阵是某一特定类型的矩…
Android Gradle Plugin 源码解析(上)
一、源码依赖 本文基于: android gradle plugin版本: com.android.tools.build:gradle:2.3.0 gradle 版本:4.1 Gradle源码总共30个G,为简单起见,方便大家看源码,此处通过gradle依赖的形式来查看源码,依赖源…