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> ます。色の 16 進数または 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 に答える