首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|GUI编程Button组件介绍

Python|GUI编程Button组件介绍

作者头像
算法与编程之美
发布2020-04-15 16:00:27
9540
发布2020-04-15 16:00:27
举报

1.前言

接着上一篇python GUI编程的基础介绍,接下来详细介绍一下里面的Button组件,下面我会以最详细的描述介绍这个组件里的参数。先把一个组件放到一个窗口上,称这个窗口是这个组件的父容器,很多组件里的一些方法都要依靠这个父容器进行。

2.Button按钮组件简介

首先先介绍要掌握哪些参数吧:

  1. command,后面的值可以是一个函数,一个命令等可执行的操作,我们可以用按钮的command属性做出很多有趣的东西,整人、表白都依靠这个属性。
  2. text,控制按钮上现实的文本。
  3. anchor,用于控制文本在按钮上显示的位置,它有九个值,e,w,s,n,ne,nw,se,sw,center,表示八个方位和中心位置,每个值具体是什么方位看东南西北的首字母组合吧。
  4. underline,这是下划线属性,后面的值为一个整数,如果是0,则第一个字符有下划线,1的话,前两个字符有下划线,以此类推。
  5. image,按钮上可以显示的图片,值为图片路径。
  6. bg和fg,按钮的背景色和前景色(此处前景色就等于按钮文本的颜色)。
  7. activebackground和activeforeground,这是鼠标点击按钮时按钮的背景色和前景色。
  8. height和width,按钮的高度和宽度,值为一个整数。
  9. justify,显示多行文本的时候,设置不同行之间的对齐方式,它的值可以为LEFT,RIGHT, CENTER。
  10. state设置按钮组件状态,值有NORMAL(默认值)、ACTIVE、 DISABLED。
  11. wraplength ,值为一个整数,用来限制每个按钮中字符的最大数量。

3.实例化操作

借用上一次写的窗口,在里面添加一些属性来详细讲解,注意Button里面的添加的属性。

from tkinter import *
 from tkinter import messagebox

window = Tk()
 window.title('谨慎回答哦')
 window.geometry('380x200')
 window.resizable(50,50)
 Lal = Label(window, text='你喜欢python吗?', font=('微软雅黑', 15), fg='red')
 Lal.pack()
 def xihuan():
     messagebox.showinfo('你喜欢python','真是太棒了,加油学吧')
 But1 = Button(window, text="喜欢",
 activebackground='red',bg = 'blue',bd = 6,command = xihuan,anchor = 'ne')
 But1.pack()
 def buxihuan():
     messagebox.showinfo('你不喜欢?','?????\n请你再说一遍!!!!\n滚回去重选!!!!')
 But2 = Button(window,text="不喜欢",bd = 3,fg =  'blue',command = buxihuan,anchor = 'sw')
 But2.pack()
 window.mainloop()

为了方便观察,两个按钮放在一起仔细对比来发现其中的细节。

图3.1代码运行结果

为了更直观感受command属性,写了两个显示出消息函数。在写的过程中可以试一试更有趣命令,还可以耍无赖向自己女神表白,如果修改了上面的关闭窗口的命令,再高冷的女神也会对你无可奈何,这就是程序员的浪漫吧。

4.结语

上次有粉丝留言说感觉tkinter很强大,又想了解一下python GUI编程的另一个模块wxpython,客观来说wxpython性能和颜值都是要高于tkinter的,但是写一些不用在意外表的朴实的小程序,相比之下tkinter更好一些,它的语法相对于更简单,非常容易上手,没学过python的小白都可以轻易地在一个星期内完成一个自己的GUI小程序。后续笔者还会持续更新tkinter的GUI编程,还希望大家支持,大家的每一次阅读和点击在看都是最大的鼓励。

END

编 辑 | 王楠岚

责 编 | 刘仕豪

where2go 团队

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档