2012-11-27 7 views
7

में गतिशील रूप से विजेट पृष्ठभूमि रंग बदलें मेरे पास एक साधारण टिंकर विंडो है। इसमें टाइमर सेट करने के लिए एक छोटी खिड़की, एक टाइमर और एक बटन होता है। मैं कोड के साथ विवरण में जाना नहीं चाहता हूं।Tkinter

मैं अपनी खिड़की (बटन, लेबल, आदि) में सभी विजेटों की पृष्ठभूमि को बदलना चाहता हूं।

मेरा पहला विचार वैश्विक चर का उपयोग करना है, उदाहरण के लिए मैं "red" पर सेट करूंगा, और वैश्विक चर के साथ सभी विजेट background विकल्प को संबद्ध करता हूं। फिर, बटन प्रेस पर मैं वैश्विक चर बदलकर "green" (ताकि सभी विगेट्स की पृष्ठभूमि बदल जाए) लेकिन कुछ भी नहीं होता है।

मेरी समझ विंडो को अद्यतन किया गया था। जब मेरे परिवर्तनीय परिवर्तन बिना मेरे एप्लिकेशन को पुनरारंभ करते हैं तो मेरे पास पृष्ठभूमि रंग बदलने के लिए विजेट कैसे हो सकते हैं?

+4

क्या आप कम से कम अपने कुछ कोड पोस्ट कर सकते हैं, इस समस्या को परीक्षण करना आसान बना देगा। – jbaldwin

उत्तर

7
मेरी पहली छाप से

मुझे लगता है कि यह होना चाहिए कि आप क्या ढूंढ रहे हैं, सरल उदाहरण के रूप में

from Tkinter import * 

root = Tk() 
global colour 
global colourselection 
global count 
colour = "" 
colourselection= ['red', 'blue'] 
count = 1 

def start(parent): 
    Tk.after(parent, 1000, change) 

def change(): 
    global colour 
    global colourselection 
    global count 
    if (count < 2): 
     colour = colourselection[count] 
     button.configure(bg = colour) 
     count + 1 
    else: 
     colour = colourselection[count] 
     button.configure(bg = colour) 
     count = 1 
    start(root) 



button = Button(text = 'start', command = lambda: start(root)) 
button.pack() 

root.mainloop() 

मुझे यकीन है कि आप किसी भी मुद्दे पर काम कर सकते हूं, यह परीक्षण नहीं किया गया है

1

पृष्ठभूमि रंग स्वचालित रूप से नहीं बदलेगा। टिंकर के पास फ़ॉन्ट्स के साथ ऐसी चीज करने की क्षमता है लेकिन रंगों के साथ नहीं।

आपको सभी विजेटों पर पुनरावृत्त करने और उनके पृष्ठभूमि रंग बदलने के लिए कुछ कोड लिखना होगा।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^