当前位置: 首页 > news >正文

优雅/灵活 地定制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 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


**dict传参一次成型,霸气
tkinter按钮样式定制
(.config对已有按钮更改,方便灵活)


本文质量分:

97 97 97

本文地址: 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


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及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规范(说明文档的规范写法)


http://www.mrgr.cn/news/58046.html

相关文章:

  • 初识jsp
  • HarmonyOS应用开发者基础认证【满分答案】
  • opencv学习:基于计算机视觉的表情识别系统
  • 【Unity踩坑】如何关闭项目中的Version Control (Plastic SCM)
  • 形式架构定义语言(ADL)
  • NumPy的基础知识
  • 在Windows 10操作系统中搭建FTP
  • Java 使用 aspose-cells 转 Excel 为 PDF 丢失表格线,列过多分页,单元格内容显示不全问题
  • 线上问题排查-频繁GC
  • 大数据治理:Python实现与案例分析
  • C/C++语言基础--C++模板与元编程系列一(泛型、模板、函数模板、全特化函数模板………)
  • C语言字符函数和字符串函数
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。(AI)
  • JavaSE——IO流7:其他流
  • 深入理解Flutter鸿蒙next版本 中的Widget继承:使用extends获取数据与父类约束
  • JWT加密解密
  • 【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
  • 深入解析 Flutter兼容鸿蒙next全体生态的横竖屏适配与多屏协作兼容架构
  • opencv深度学习:面部特征点匹配与图像融合--换脸
  • 二、Python的五种容器和函数(有C语言基础速成版)
  • 异次元v4.0
  • [MySQL#1] database概述 | 常见的操作指令 | MySQL架构 | 存储引擎
  • 使用微信小程序实现登录
  • 【 thinkphp8 】00008 thinkphp8数据查询,常用table,name方法,进行数据查询汇总
  • 大话红黑树之(2)源码讲解TreeMap-Java
  • 基于Java的高校毕业生就业信息管理系统