为 Python tkinter 按钮添加样式


Tkinter 为基于 python 的 GUI 程序创建提供了强大的支持。它提供了根据其字体、大小、颜色等在 Tkinter 画布上设置按钮样式的不同方式。在本文中,我们将学习如何对画布上的特定按钮或所有按钮应用样式。

应用于特定按钮

让我们考虑一种情况,即在画布中有两个按钮且我们仅想对第一个按钮应用一些样式。我们使用 W.TButton 作为配置的一部分,同时使用字体和前景色。

示例

from tkinter import *
from tkinter.ttk import *

# Set the canvas
canv = Tk()
canv.geometry('200x150')

#Create style object
sto = Style()

#configure style
sto.configure('W.TButton', font= ('Arial', 10, 'underline'),
foreground='Green')

#Button with style
btns = Button(canv, text='Welcome !',
      style='W.TButton',
      command=canv.destroy)
btns.grid(row=0, column=1, padx=50)

#Button without style
btnns = Button(canv, text='Click to Start !', command=None)
btnns.grid(row = 1, column = 1, pady = 10, padx = 50)

canv.mainloop()

输出

运行以上代码,将产生以下结果 −

应用于所有按钮

它与上述配置类似,只不过它具有作为样式的 Tbutton,后者会自动应用于画布上的所有按钮。

示例

from tkinter import *
from tkinter.ttk import *

canv = Tk()
canv.geometry('200x150')

#Create style object
sto = Style()

#configure style
sto.configure('TButton', font=
('calibri', 10, 'bold', 'underline'),
foreground='Green')
# button 1
btns = Button(canv, text='Welcome !',
      style='TButton',
      command=canv.destroy)

btns.grid(row=0, column=1, padx=50)

# button 2
btnns = Button(canv, text='Click to start !', command=None)
btnns.grid(row=1, column=1, pady=10, padx=50)

canv.mainloop()

输出

运行以上代码,将产生以下结果 −

更新日期:26-Aug-2020

3K+ 浏览量

开启您的 职业生涯

完成课程,获得认证

开始
广告