《tkinter实用教程三》ttk

现在,我们只讨论常用几个参数。

如何指定 ttk.Button 样式

Button 的3D样式由参数 relief 指定,如下代码创建了一个红色字体,蓝色背景的凸出按钮:


from tkinter import *

from tkinter import ttk



root = Tk()

style_default = ttk.Style()



style_default.configure("TButton",foreground="red",background="blue",relief=RAISED)



btn = ttk.Button(root,text="第二个按钮",style="TButton")

btn.pack()



root.mainloop()



relief 参数使用传入的 RAISED 值,会创建一个如下图所示的,和 “第一个按钮” 截然不同的凸出按钮:

在这里插入图片描述

SUNKEN 同样有意思的值还有很多,都列在下面啦,一个个去尝试吧!

  • RAISED=‘raised’

  • SUNKEN=‘sunken’

  • FLAT=‘flat’

  • RIDGE=‘ridge’

  • GROOVE=‘groove’

  • SOLID = ‘solid’

除了按钮的3D样式之外,我们常用的参数还有宽和高(widthheight)。

如何制定按钮的大小

按钮宽度由参数 width 指定,以下代码创建了一个宽度为17个字符的按钮:


from tkinter import *

from tkinter import ttk



root = Tk()

style = ttk.Style()

style.configure("TButton",width=17)

btn = ttk.Button(text="abcdefg",style='TButton')

btn.pack()



root.mainloop()



代码执行结果,如下图所示:

在这里插入图片描述

ttk.Button 控件和 tkinter 原生按钮不同,不具备 height 参数,具体原因目前还不清楚,还在学习过程中。

按钮的宽以字符数量来确定的,如果是图像按钮则是以像素为单位的,不要忘了哦!!

以上代码还能写成如下形式:


from tkinter import *

from tkinter import ttk

root = Tk()

btn = ttk.Button(root,text="abcdefg",width=17)

btn.pack()



root.mainloop()



这种方式只对 width 参数有用,其他样式参数还是要使用 Style 传入!!

如何为按钮绑定事件

按钮绑定点击事件是通过 command 进行的,相信读到这里,你已经知道如何做了:


import tkinter

from tkinter import ttk



def click():

    btn['style']='C.TButton'



root = tkinter.Tk()

s1 = ttk.Style()

s2 = ttk.Style()

s1.configure("TButton",background='red')

s2.configure("C.TButton",background="blue")



btn = ttk.Button(text='btn',command=click)

btn.pack()

root.mainloop()



以上代码创建了一个具有红色背景的按钮,并给 command 参数传入了一个函数

在函数里改变了按钮的颜色。

执行结果如下:

点击之前

在这里插入图片描述

点击之后

在这里插入图片描述

所有可选参数表

以下是按钮的所有参数及其介绍:

| 参数 | 描述 |

| — | — |

| activebackground | 按钮在光标下时的背景颜色 |

| activebackground | 按钮在光标下时的前景颜色 |

| anchor | 文本在按钮上的位置。 例如,anchor=tk.NE 会将文本放置在按钮的右上角 |

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值