[英]How to change the background color of a TKinter Column?
我有一个Tkinter应用程序,但我想将背景色更改为第一列的蓝色
from tkinter import *
from tkinter import ttk
root = Tk()
mainframe = ttk.Frame(root, padding="3 3 500 200")
mainframe.grid(column=0, row=0)
ttk.Label(mainframe, text="COLUMN 1 ROW 1").grid(column=1, row=1)
root.mainloop()
我尝试了以下操作,但收到错误消息:
from tkinter import *
from tkinter import ttk
root = Tk()
mainframe = ttk.Frame(root, padding="3 3 500 200")
mainframe.grid(column=0, row=0)
ttk.Label(mainframe, text="COLUMN 1 ROW 1").grid(column=1, row=1,bg ="blue4")
root.mainloop()
tkinter.TclError:
Traceback (most recent call last):
File "/Users/chriscruz/Desktop/aesop_1.1.py", line 11, in <module>
ttk.Label(mainframe, text="COLUMN 1 ROW 1").grid(column=1, row=1,bg ="blue4")
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 2029, in grid_configure
+ self._options(cnf, kw))
_tkinter.TclError: bad option "-bg": must be -column, -columnspan, -in, -ipadx, -ipady, -padx, -pady, -row, -rowspan, or -sticky
ttk.Label
没有bg
选项,而是具有style
选项,您可以按照以下方式进行配置:
lbl = ttk.Label(mainframe, text="COLUMN 1 ROW 1")
style_ref = ttk.Style()
style_ref.configure("style_name.TLabel", background='blue')
lbl['style'] = "style_name.TLabel"
lbl.grid(column=1, row=1)
或者如果您使用tkinter.Label
代替:
lbl = tkinter.Label(mainframe, text="COLUMN 1 ROW 1")
lbl['bg'] = 'blue'
lbl.grid(column=1, row=1)
ttk
包中的Frame
类不支持background选项,因此请尝试仅使用ttk
本身。
在这里看到类似的问题: 如何在Tkinter中更改框架的背景?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.