优雅/灵活 地定制tkinter按钮样式

**dict传参一次成型,霸气;.config对已有按钮更改,方便灵活。


(笔记模板由python脚本于2024年10月24日 18:48:36创建,本篇笔记适合会python编程基础,喜欢GUI的coder翻阅)


【学习的细节是欢悦的历程】


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


等风来,不如追风去……


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


本文质量分:

97 97 97

本文地址: https://blog.csdn.net/m0_57158496/article/details/143216764

CSDN质量分查询入口:http://www.csdn.net/qc


目 录


◆ tkinter按钮样式定制


import tkinter as tk

root = 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 tk

root = 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 tk

root = 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 = 1
    while n < 6:
        button.config(**infoes2)
        button.place(x=x, y=y)
        x += 10; y += 60
        n += 1

root.mainloop()

  • 效果
    在这里插入图片描述



回页首


上一篇:  “平铺”代码的有效精减(自定义函数def封装复用,class集成“公共”操作都是优质高效的手段)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。


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

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

来源:老齐教室


Python 入门指南【Python 3.6.3】


好文力荐:


CSDN实用技巧博文:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值