我想知道如何将红色var D = new SortedDictionary<int, string>();
var qD = from kvp in D
orderby kvp.Value
select kvp
;
设置为无颜色。
例如,Label
。
我尝试了l=Label(root,text='color',bg='red')
,但它不起作用。颜色保持不变。
是否有某些功能可以“取消配置”bg?
答案 0 :(得分:2)
对于Windows(至少),只需设置l['bg'] = 'SystemButtonFace'
即可。以下示例应独立于平台工作。
假设
我想知道如何将红色标签设置为无颜色。
您的意思是重置为默认颜色。一种简单的方法是创建一个新标签,获取它的bg,删除它,然后将该颜色添加到实际标签:
import tkinter as tk
def default_bg_color():
global root, l
_dummy_lbl = tk.Label(root)
l['bg'] = _dummy_lbl['bg']
_dummy_lbl.destroy()
root = tk.Tk()
l = tk.Label(root, text="This is the red label.", bg='red')
btn = tk.Button(root, text="Default color!", command=default_bg_color)
l.pack()
btn.pack()
root.mainloop()
另外,请参阅下面的示例,当按下按钮时,将任何窗口小部件的bg
选项覆盖为默认选项:
import tkinter as tk
def default_bg_color(widget):
_ = widget.__class__(widget.master)
widget['bg'] = _['bg']
_.destroy()
if __name__ == '__main__':
root = tk.Tk()
# tk.Label can be replaced with any widget that has bg option
label = tk.Label(root, text="This is the red label.", bg='red')
btn = tk.Button(root, text="Default color!")
btn['command'] = lambda widget=label: default_bg_color(widget)
label.pack()
btn.pack()
root.mainloop()