簡體   English   中英

更改 tkinter 中按鈕的顏色適用於 Windows,但不適用於 Mac OSX

[英]Changing color of buttons in tkinter works on Windows but not Mac OSX

編輯:我在 Windows 上試過了,它可以工作,我猜這是一個 OSX 錯誤?

以下代碼由於某種原因不起作用,按鈕保持白色

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

但是,由於某種原因,設置標簽的背景可以正常工作,如下所示

Label(frame, text=times[x], bg="blue").grid(row=x, column=0)

所以我最終得到了以下 GUI,如下所示

我知道這篇文章中詳述的錯誤,但是我沒有使用 ttk,所以我認為這不適用於這里。 我只是在 Python 3.6.4 中使用from tkinter import * ,但是我在 Mac OSX 上

我也試過z.config(bg="blue")以及z["bg"]="blue" ,但兩者都失敗了。

對於python3,嘗試

pip3 install tkmacosx

那么它應該是這樣工作的:

from tkmacosx import Button as button
B1 = button(frame, text = 'Hello!', bg = 'black', fg = 'white',command = testing)

在 tcl/tk wiki 的這個頁面中列出了一些與 Mac 相關的問題以及標簽和按鈕背景的顏色。 例如:

...

Mac OS X 背景色不應為白色,而應為#ececec。 由於 winfo rgb 在 mac 顏色上無法正常工作,因此很難獲得正確的默認顏色。

... 等等。

致敬!,

我在 osx 10.14.3 上遇到了同樣的問題,然后我用 ttk 按鈕替換,它起作用了!

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

使用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()

結果

要查看結果,請單擊此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM