2016-04-28 24 views
0

Is it possible to colour a specific item in a Listbox widget?についてbgの色をに変更することは可能ですか?例えばTkinterリストボックス内のアイテムの色を変更する

:リストで

いくつかの値、負のいくつかの肯定、他者があります。彼らが肯定的であるか否定的であるかに基づいて背景色を変えたい。 itemconfig()

if names > 0 : 
    diffbox.itemconfig(bg='red') 
if names < 0 : 
    diffbox.itemconfig(bg='green') 

diffbox.insert(END, names) 

答えて

1

インデックスパラメータは"end"することができ、あなたはそれを活用する必要があります。最初に項目を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() 
+0

ありがとうございました!非常に役立ちます –

関連する問題