1

我有一个标签对象,我将要更改其背景颜色,并且我想有一种方法来检查给定时间的背景颜色。例如:

root=Tk()
label=ttk.Label(root, text="Hello there", background="#000000", foreground="#ffffff")
label.pack()
root.mainloop()

oldfg=label.cget("foreground")然后打电话oldfg给了相当模棱两可的东西 <color object at 0x04078168> 。有没有办法获得颜色的十六进制或 rgb 表示,或者我可以以某种方式使用它?

编辑:在标题中我说前景,在代码中我说背景,同样的事情适用于两者。

4

1 回答 1

2

我认为您已经回答了自己的问题以证明这一点:

import Tkinter as tk


def swapsies():
    oldfg = label.cget("foreground")
    oldbg = label.cget("background")
    label.config(background=oldfg, foreground=oldbg)
    print "Foreground: {0} Background: {1}".format(oldfg, oldbg)


root = tk.Tk()
label = tk.Label(root, text="Hello there", background="#000000", foreground="#ffffff")
label.pack(side=tk.LEFT)
mega_button = tk.Button(root, text="GO!", command=swapsies)
mega_button.pack(side=tk.LEFT)

root.mainloop()

关闭输出,单击按钮交换颜色:

"Foreground: #ffffff Background: #000000"
于 2013-05-19T16:48:11.330 回答