Python 更改Tkinter列表框中项目的颜色
关于,是否可以根据列表中保存的数据更改bg颜色 例如: 在列表名称中有几个值,一些为正值,另一些为负值。我想根据它们是正片还是负片来改变它们的背景色Python 更改Tkinter列表框中项目的颜色,python,tkinter,listbox,Python,Tkinter,Listbox,关于,是否可以根据列表中保存的数据更改bg颜色 例如: 在列表名称中有几个值,一些为正值,另一些为负值。我想根据它们是正片还是负片来改变它们的背景色 if names > 0 : diffbox.itemconfig(bg='red') if names < 0 : diffbox.itemconfig(bg='green') diffbox.insert(END, names) 如果名称>0: diffbox.itemconfig(bg='red') 如果名称
if names > 0 :
diffbox.itemconfig(bg='red')
if names < 0 :
diffbox.itemconfig(bg='green')
diffbox.insert(END, names)
如果名称>0:
diffbox.itemconfig(bg='red')
如果名称<0:
diffbox.itemconfig(bg='green')
diffbox.insert(结束,名称)
itemconfig()的索引参数可以是“end”
,您应该利用它。首先将项目插入结尾
,然后更改其背景
import Tkinter as tk
def demo(master):
listbox = tk.Listbox(master)
listbox.pack(expand=1, fill="both")
# inserting some items
for names in [0,1,-2,3,4,-5,6]:
listbox.insert("end", names)
listbox.itemconfig("end", bg = "red" if names < 0 else "green")
#instead of one-liner if-else, you can use common one of course
#if item < 0:
# listbox.itemconfig("end", bg = "red")
#else:
# listbox.itemconfig("end", bg = "green")
if __name__ == "__main__":
root = tk.Tk()
demo(root)
root.mainloop()
将Tkinter作为tk导入
def演示(主):
listbox=tk.listbox(主)
pack(expand=1,fill=“两者”)
#插入一些项目
对于[0,1,-2,3,4,-5,6]中的名称:
列表框。插入(“结束”,名称)
listbox.itemconfig(“end”,bg=“red”如果名称<0,则为“green”)
#当然,您可以使用普通的衬里,而不是一个衬里
#如果项目<0:
#listbox.itemconfig(“end”,bg=“red”)
#其他:
#listbox.itemconfig(“end”,bg=“green”)
如果名称=“\uuuuu main\uuuuuuuu”:
root=tk.tk()
演示(根)
root.mainloop()
非常感谢您!很有帮助