如何在Tkinter上更改按钮和标签的颜色?

时间:2017-06-07 14:39:38

标签: python tkinter

我的任务是在Tkinter上创建一个标签和按钮。按钮必须更改标签,我必须更改按钮和标签的颜色。我已经改变了背景的颜色,但我无法弄清楚如何对标签和按钮做同样的事情。

from tkinter import *
from tkinter import ttk

def change():
    print("change functon called")

def main():
    rootWindow = Tk()
    rootWindow.geometry('400x400')
    rootWindow.configure(bg="red")

    global Label
    label = ttk.Label( rootWindow, text="Hello World!" )
    label.pack()

    button1 = ttk.Button( rootWindow, text="Change Label",
                        command=change)
    button1.pack()

    rootWindow.mainloop()

main()

4 个答案:

答案 0 :(得分:1)

因此,使用DNNClassifier按钮VS tkinter样式按钮时,配置按钮颜色会略有不同。

对于tkinter按钮,您可以使用background =“color”参数,如下所示:

ttk

对于button1 = Button( rootWindow, text="Change Label", background = 'black', foreground = "white", command=change) 按钮,您将配置样式,然后使用ttk参数,如下所示。

style = "style name"

有关style = ttk.Style() style.configure("BW.TLabel", foreground="white", background="black") buttonTTK = ttk.Button( rootWindow, text="TTK BUTTON",style = "BW.TLabel", command=change) 配置的更多信息,请访问here

ttk

结果:

enter image description here

答案 1 :(得分:1)

在Windows 10上,我遇到了同样的问题,并且找到了一种解决方案,尽管不是很令人满意。下面将创建带有白色前景类型的黑色按钮:

首先根据标准TButton样式定义自定义按钮样式

mystyle = ttk.Style()
mystyle.configure('mycustom.TButton',background='black',foreground='white')

然后使用新的自定义样式创建按钮

mybutton = ttk.Button(root,style='mycustom.Tbutton')

我说“不太满意”,因为这只有在我之前将整体主题设置为“默认”时才有效:

mystyle = ttk.Style()
mystyle.theme_use('default')

使用系统上可用的任何其他主题(winnative,clam,alt,classic,vista和xpnative)将仅将边框更改为黑色,而将背景保留为灰色。

答案 2 :(得分:0)

来自

Python, Tkinter, Change of label color

这将更改按钮的标签颜色:

button1.configure(foreground="red")

我认为可以对标签使用相同的方法。

答案 3 :(得分:0)

对于ttk按钮,色彩控制的主要问题要求使用ttk.Style()和theme_use。主题alt /经典/默认允许3D /彩色按钮控制。有关使用configure和style映射的代码示例,请参见Python: Changing ttk button color depending on current color?