मैं पाइथन (3.1.2)/emacs (23.2) newbie खुद को pythonware ट्यूटोरियल का उपयोग कर tkinter पढ़ रहा है here पाया। प्रासंगिक कोड प्रश्न के नीचे चिपकाया गया है।Emacs: Inferior-mode पायथन-खोल दिखाई देता है "lagged"
प्रश्न: जब मैं हैलो बटन पर क्लिक करता हूं (जिसे say_hi फ़ंक्शन को कॉल करना चाहिए) क्यों अवरुद्ध पायथन खोल (यानी जिसे मैंने सीसी सीसी के साथ लात मार दिया है) तब तक कहने के लिए प्रतीक्षा करें जब तक मैं या तो एक क्लिक नहीं करता) बाहर निकलें बटन या बी) रूट विजेट को बंद करें? जब मैं निष्क्रिय में एक ही प्रयास करते हैं, हैलो बटन के प्रत्येक क्लिक निष्क्रिय अजगर खोल में एक तत्काल प्रिंट पैदा करता है, यहां तक कि इससे पहले कि मैं क्लिक करें छोड़ो या रूट विजेट बंद कर दें।
वहाँ रास्ता Emacs में कुछ मोड़ है अजगर खोल (बनाम निष्क्रिय) है कि यह "लेग्ड" व्यवहार का कारण बनता है चलाता है? मैं इसी तरह की Emacs ध्यान दिया है बनाम निष्क्रिय lags के रूप में मैं परियोजना यूलर समस्याओं के माध्यम से काम किया है, लेकिन यह स्पष्ट उदाहरण मैं अभी तक देखा है है।
FYI करें: मैं python.el का उपयोग करें और एक अपेक्षाकृत स्वच्छ init.el ...
है (setq अजगर-अजगर-कमांड "d:/bin/python31/अजगर")
है मेरी init.el में केवल लाइन
धन्यवाद,
माइक
=== कोड ===
from tkinter import *
class App:
def __init__(self,master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text="QUIT", fg="red", command=frame.quit)
self.button.pack(side=LEFT)
self.hi_there = Button(frame, text="Hello", command=self.say_hi)
self.hi_there.pack(side=LEFT)
def say_hi(self):
print("hi there, everyone!")
root = Tk()
app = App(root)
root.mainloop()
कोशिश 'प्रिंट ('एबीसी', फ़ाइल = sys.stderr)' यह मुद्दों बफरिंग किया जा सकता है (उत्पादन सांत्वना देने लाइन बफ़र किया जा सकता है, लेकिन उत्पादन पाइप के लिए/फ़ाइल बफर तय कर दी है हो सकता है)। – jfs
काम नहीं किया। sys.stdout.flush() [एमएसडब्ल्यू का जवाब नीचे] काम किया। टिप्पणी के लिए धन्यवाद, यद्यपि! – MikeRand