《tkinter实用教程三》ttk

如下代码在顶层窗口 root 中创建了一个名为 btn 的按钮。


from tkinter import *



root = Tk()

btn = Button(root,text="第一个按钮") #创建一个按钮,并放置在root中

btn.pack() # 放置按钮



root.mainloop() 



以上代码执行完毕后,会弹出如下图所示窗口。

在这里插入图片描述

按钮中的文字由参数 text 指定。

除了参数 text 之外,在创建一个 Button 时,还可以指定多种参数值,文章末尾会全部列出。

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

如何指定 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 参数传入了一个函数

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

执行结果如下:

点击之前

在这里插入图片描述

点击之后

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦

command 参数传入了一个函数

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

执行结果如下:

点击之前

在这里插入图片描述

点击之后

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦

[外链图片转存中…(img-VBg1OFUB-1718725959372)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值