簡體   English   中英

Python 如何在 ttk treeview 中的特定單元格中更改顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM