Python为tkinter按钮添加样式

Tkinter是一个Python标准库, 用于创建GUI(图形用户界面)应用程序。它是最常用的Python软件包之一。 Tkinter在以下帮助下支持传统和现代图形支持Tk主题小部件。 tkinter还提供了所有小部件tkinter.ttk.
在中添加样式tkinter.ttk按钮有点令人毛骨悚然, 因为它不支持直接实施。在样式中添加样式ttk按钮我们必须首先创建一个样式类的对象tkinter.ttk.
【Python为tkinter按钮添加样式】我们可以使用以下步骤创建ttk.Button:

btn = ttk.Button(master, option = value, ...)

ttk.Button选项–
命令:按下按钮时要调用的功能。文字:出现在按钮上的文字。图片:要在按钮上显示的图片。 style:用于渲染此按钮的样式。
在上添加样式ttk按钮我们无法直接在选项中传递值。首先, 我们必须创建一个Style对象, 该对象可以如下创建:
style = ttk.Style()

下面的代码将仅向选定的按钮添加样式, 即, 只有那些按钮将被更改, 我们将在其中传递样式选项。
代码1:
from tkinter import * from tkinter.ttk import * root = Tk() root.geometry( '100x100' )# This will create style object style = Style()# This will be adding style, and # naming that style variable as # W.Tbutton (TButton is used for ttk.Button).style.configure( 'W.TButton' , font = ( 'calibri' , 10 , 'bold' , 'underline' ), foreground = 'red' )# Style will be reflected only on # this button because we are providing # style only on this Button. ''' Button 1''' btn1 = Button(root, text = 'Quit !' , style = 'W.TButton' , command = root.destroy) btn1.grid(row = 0 , column = 3 , padx = 100 )''' Button 2''' btn2 = Button(root, text = 'Click me !' , command = None ) btn2.grid(row = 1 , column = 3 , pady = 10 , padx = 100 )root.mainloop()

输出如下:
Python为tkinter按钮添加样式

文章图片
仅会设置一个按钮的样式, 因为在上面的代码中, 我们仅在一个按钮中提供样式。
代码#2在所有可用按钮上应用样式
from tkinter import * from tkinter.ttk import * root = Tk() root.geometry( '100x100' )style = Style()# Will add style to every available button # even though we are not passing style # to every button widget. style.configure( 'TButton' , font = ( 'calibri' , 10 , 'bold' , 'underline' ), foreground = 'red' ) # button 1 btn1 = Button(root, text = 'Quit !' , style = 'TButton' , command = root.destroy)btn1.grid(row = 0 , column = 3 , padx = 100 )# button 2 btn2 = Button(root, text = 'Click me !' , command = None ) btn2.grid(row = 1 , column = 3 , pady = 10 , padx = 100 )root.mainloop()

输出如下:
Python为tkinter按钮添加样式

文章图片
现在, 如果你想通过鼠标的移动来更改按钮的外观, 即当我们将鼠标悬停在按钮上时, 它将更改其颜色;当我们按下按钮时, 它将更改颜色, 依此类推。
代码#3
鼠标悬停时更改颜色
from tkinter import * from tkinter.ttk import * root = Tk() root.geometry( '500x500' )style = Style() style.configure( 'TButton' , font = ( 'calibri' , 20 , 'bold' ), borderwidth = '4' )# Changes will be reflected # by the movement of mouse. style. map ( 'TButton' , foreground = [( 'active' , '! disabled' , 'green' )], background = [( 'active' , 'black' )])# button 1 btn1 = Button(root, text = 'Quit !' , command = root.destroy) btn1.grid(row = 0 , column = 3 , padx = 100 )# button 2 btn2 = Button(root, text = 'Click me !' , command = None ) btn2.grid(row = 1 , column = 3 , pady = 10 , padx = 100 )root.mainloop()

输出如下:
Python为tkinter按钮添加样式

文章图片
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读