更改tkinter中按钮的颜色可在Windows上使用,但不适用于Mac OSX

时间:2018-06-24 23:28:43

标签: python macos tkinter

编辑:我在Windows上尝试过,并且可以正常工作,我想这是OSX的错误?

以下代码由于某些原因无法正常工作,并且按钮保持白色

CompUnit::Repository::FileSystem

但是,出于某些原因,设置标签背景可以正常工作

z = Button(frame, text="Nothing Scheduled", bg = "blue" command=lambda ..., width=15)
z.grid(row=x, column=1)

所以我最终得到下面的GUI,如下所示

我知道this帖子中详细介绍的错误,但是我没有使用ttk,因此我认为这不适用于此。我只是在Python 3.6.4中使用Label(frame, text=times[x], bg="blue").grid(row=x, column=0) ,但是我在Mac OSX上

我也尝试过from tkinter import *z.config(bg="blue"),但两者都失败了。

4 个答案:

答案 0 :(得分:0)

在tcl / tk Wiki的page 中列出了一些与Mac有关的问题,以及标签和按钮背景的颜色。例如:

  

...

     

Mac OS X的背景颜色不应为白色,而应为#ececec。由于Winfo RGB无法在Mac颜色上正常运行,因此很难获得正确的默认颜色。

     

...等等

Saludos!,

答案 1 :(得分:0)

我在osx 10.14.3上遇到了同样的问题,然后我用ttk按钮替换了,它起作用了!

from tkinter import ttk
b1 = ttk.Button(root, text="start", width=15, command=begin)

答案 2 :(得分:0)

对于python3,请尝试

@MapKey

对于python3,请尝试

pip3 install tkmacosx

然后应该可以使用它:

pip install tkmacosx

答案 3 :(得分:0)

使用 tkmacosx 库,它允许您在 MacOSX 中更改按钮颜色。

安装

pip install tkmacosx

示例

from tkinter import *
from tkmacosx import Button

root = Tk()
root.geometry("200x200")
B1 = Button(root, text='Button', bg='red')
B1.grid(row=0, column=1)

root.mainloop()

结果

To see the result click here