现在,我们只讨论常用几个参数。
如何指定 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样式之外,我们常用的参数还有宽和高(width
和height
)。
如何制定按钮的大小
按钮宽度由参数 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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!