我有一個簡單的 GUI,它在螢屏上顯示一個帶有數字的表格,我想為一些特定的單元著色。有人知道我該怎么做?
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()
uj5u.com熱心網友回復:
Python如何在ttk樹視圖中更改特定單元格的顏色
您無法更改Treeview小部件中特定單元格的顏色。格式只能應用于整行。顏色只能與標簽一起應用,標簽只能應用于一個專案的整體,而不是一個專案的一部分。
uj5u.com熱心網友回復:
通過用網格結構替換您的樹結構,我們可以為單個單元格著色,示例如下
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 = "#x" % 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()
輸出

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/375699.html
下一篇:獲取包含特定字串的最新提交
