优雅/灵活 地定制tkinter按钮样式
**dict
传参一次成型,霸气;.config
对已有按钮更改,方便灵活。
(笔记模板由python脚本于2024年10月24日 18:48:36创建,本篇笔记适合会python编程基础,喜欢GUI的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室

本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/143216764
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ tkinter按钮样式定制
- 1、优雅的按钮样式定制
- 2、tkinter.Button
- 2.1 可重置属性
- 2.2 可操作方法
- 3、试炼
- 3.1 **dict | dict
- 3.2 .config
◆ tkinter按钮样式定制
import tkinter as tkroot = tk.Tk()
buttons_info = (('text', 25, 80),('exit', 205, 400))
infoes = {'fg': 'red'}
infoes2 = {'font': ('Arial',12), 'bg': 'lightgray'}
for text, x, y in buttons_info:button = tk.Button(root,text=text, **(infoes | infoes2))#button = tk.Button(root,text=text)#button.config(**infoes)#button.config(**infoes2)button.place(x=x, y=y)root.mainloop()
用字典联接运算符“|
”和tinker.Button.config()
都可以方便地重置按钮样式,您认为哪个更为优雅?🧐
1、优雅的按钮样式定制
字典联接运算符“|
”联接dict
传参更优雅(python 3.9 后版本新增dict运行符),.onfig
更为灵活方便(向下兼容老版python 解释器)。
图说
【字典联接运算符“|
”联接dict
传参更优雅,
.onfig
更为灵活方便】
2、tkinter.Button
在 t k i n t e r tkinter tkinter中, B u t t o n Button Button组件有许多可重置的属性和可操作的方法。
以下是一些常用的属性和方法简介:
2.1 可重置属性
这些属性可以通过config()
方法或使用字典展开运算符在创建按钮时设置。
text
: 按钮上显示的文本。width
: 按钮的宽度(以字符为单位)。height
: 按钮的高度(以行数为单位)。bg
: 按钮的背景颜色。fg
: 按钮的前景色(通常用于文本颜色)。font
: 按钮中文本的字体样式。image
: 按钮上显示的图像。compound
: 指定文本和图像如何显示,可以是NONE
,BOTTOM
,TOP
,LEFT
,RIGHT
。state
: 按钮的状态,可以是NORMAL
,ACTIVE
,DISABLED
。command
: 当按钮被点击时调用的函数。relief
: 按钮的边框样式,如FLAT
,RAISED
,SUNKEN
,GROOVE
,RIDGE
。bd
: 按钮边框的宽度。cursor
: 鼠标悬停在按钮上时的光标样式。padx
,pady
: 按钮内部文本或图像与边框之间的额外空间。
2.2 可操作方法
config(**options)
: 用来重新配置按钮的属性。place()
: 手动设置按钮的位置。pack()
: 将按钮打包到父容器中,并自动管理其位置。grid()
: 将按钮放置在基于网格的布局中。invoke()
: 调用与按钮关联的命令,就像用户点击了按钮一样。flash()
: 使按钮闪烁几次,用于引起用户的注意。focus_set()
: 将键盘焦点设置到该按钮上。state([newstate])
: 获取或设置按钮的状态。
这些属性和方法为tkinter.Button
组件提供了丰富的定制能力,使得开发者可以创建出功能丰富且用户友好的按钮。在使用时,应根据具体的应用场景选择合适的属性和方法。
3、试炼
3.1 **dict | dict
**dict | dict
#!/usr/bin/env python311
import tkinter as tkroot = tk.Tk()
buttons_info = (('test', 25, 80),('exit', 205, 400))
infoes2 = {'font': ('Arial',12), 'bg': 'lightgray'}
for text, x, y in buttons_info:infoes = {'fg': 'blue'} if text == 'test' else {'bg': 'gyan', 'fg': 'red'}button = tk.Button(root,text=text, **(infoes | infoes2))button.place(x=x, y=y)root.mainloop()
效果
3.2 .config
.config
#!/usr/bin/env python311
import tkinter as tkroot = tk.Tk()
buttons_info = (('text', 25, 80),('exit', 205, 400))
infoes = {'fg': 'red'}
infoes2 = {'font': ('Arial',12), 'bg': 'lightgray'}
for text, x, y in buttons_info:button = tk.Button(root,text=text)button.config(**infoes)n = 1while n < 6:button.config(**infoes2)button.place(x=x, y=y)x += 10; y += 60n += 1root.mainloop()
效果
上一篇: “平铺”代码的有效精减(自定义函数def封装复用,class集成“公共”操作都是优质高效的手段)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)

精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)