2016-07-19 6 views
7

दोहराएं मैं पाइथोनिस्ट नामक पायथन के लिए एक छोटा ऐप उपयोग कर रहा हूं जो मुझे हर कुछ सेकंड में टेक्स्ट रंग बदलने की अनुमति देता है। यहां एक उदाहरण दिया गया है कि मैं अनंत लूप में ऐसा करने के लिए कैसे प्रयास कर रहा हूं;पायथन: फिर कुछ सोएं,

while True: 
    v['example'].text_color = 'red' 
    time.sleep(0.5) 
    v['example'].text_color = 'blue' 
    time.sleep(0.5) 
    # and so on.. 

यहां मुद्दा यह है कि यह मेरा कार्यक्रम जमा क्योंकि अजगर अधिक से अधिक सो रहता है, और मैं किसी भी परिवर्तन देखने कभी नहीं है। क्या परिवर्तन (लाल/नीले/आदि में बदल रहे पाठ) को देखने में सक्षम होने का एक तरीका है और फिर अगला कार्य x समय बाद में कर रहा है, और इसी तरह?

+12

आप * बहु सूत्रण में देखने की जरूरत है *। ग्राफिक्स समेत आपके कार्य एक थ्रेड में चल रहे हैं। जब आप 'नींद' कहते हैं, तो ** सबकुछ ** सो जाता है। आप जो करना चाहते हैं वह है कि अपने लूप को एक अलग थ्रेड में एसिंक्रोनस कॉलबैक के साथ रखें ताकि शेष कार्यक्रम के प्रवाह को बाधित किए बिना निरंतर निष्पादन सुनिश्चित किया जा सके। –

+0

@PierceDarragh करेंगे, धन्यवाद –

+0

कोई समस्या नहीं! एसओ पर ऑनलाइन कई ट्यूटोरियल और कई पोस्ट हैं। शुभकामनाएँ! :) –

उत्तर

2

आपको अपना कोड चलाने वाला एक नया थ्रेड बनाना होगा। अपनी ही विधि some_function() में कोड रखो और फिर इस तरह एक नया धागा शुरू:

thread = Thread(target = some_function) 
thread.start() 
संबंधित मुद्दे