我有一个标签对象,我将改变背景颜色,我想有办法检查给定时间的背景颜色。例如:
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表示,或者我可以用某种方式使用它?
编辑:在标题中我说前景,在我说的背景代码中,同样适用于两者。
答案 0 :(得分: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"