[英]Python how to change color in a spesific cell in ttk treeview
我有一個簡單的 GUI,它在屏幕上顯示一個帶有數字的表格,我想為一些特殊的 cenlls 着色。 有人知道我該怎么做嗎?
import tkinter as tk
from tkinter import *
from tkinter import ttk
def show_table():
text = ""
for letter in textDate.get():
if letter != '/':
text = text + letter
print(text)
number_array = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
frn = Frame(root)
frn.place(x=15, y=140)
tv = ttk.Treeview(frn, columns=(1, 2, 3), show="headings", height="5")
tv.pack()
for i in number_array:
tv.insert('', 'end', values=i)
def save_data():
date = textDate.get()
show_table()
root = tk.Tk()
canvas = tk.Canvas(root, height=700, width=700, bg="#A2A2A2")
root.title("test")
canvas.pack()
datelable = tk.Label(text="date", bg="#A2A2A2")
datelable.place(x=15, y=50)
textDate = tk.StringVar()
textEntry = tk.Entry(textvariable=textDate)
textEntry.place(x=15, y=70, width=100, height=15)
finishButton = tk.Button(root, text="send", width="10", height="1", bg="#FFFFFF", command=save_data)
finishButton.place(x=15, y=100)
frame = tk.Frame(root)
root.mainloop()
通過用網格結構替換您的樹結構,我們可以為單個單元格着色示例如下
import tkinter as tk
from tkinter import *
from tkinter import ttk
import random #for random color selection
def show_table():
text = ""
for letter in textDate.get():
if letter != '/':
text = text + letter
print(text)
number_array = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
for r in range(len(number_array)):
for c in range(len(number_array[r])):
colour = "#%06x" % random.randint(0, 0xFFFFFF)
b = Entry(root, text = StringVar(value=number_array[c][r]), bg = colour)
b.grid(row = r, column = c)
def save_data():
date = textDate.get()
show_table()
root = tk.Tk()
canvas = tk.Canvas(root, height=700, width=700, bg="#A2A2A2")
root.title("test")
datelable = tk.Label(text="date", bg="#A2A2A2")
datelable.place(x=15, y=50)
textDate = tk.StringVar()
textEntry = tk.Entry(textvariable=textDate)
textEntry.place(x=15, y=70, width=100, height=15)
finishButton = tk.Button(root, text="send", width="10", height="1", bg="#FFFFFF", command=save_data)
finishButton.place(x=15, y=100)
frame = tk.Frame(root)
root.mainloop()
Output
Python 如何在 ttk treeview 中的特定單元格中更改顏色
您無法更改Treeview
小部件中特定單元格的顏色。 格式只能應用於整行。 Colors 只能與標簽一起應用,並且標簽只能應用於整個項目,而不是項目的一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.