2013-01-24 73 views
5

एक क्यूप्लिकेशन ऑब्जेक्ट को तत्काल करने के बाद मेरा आईपीथन खोल आलसी हो जाता है। उदाहरण के लिए, एक नई शुरुआत से भी, निम्न कोड मेरे खोल को सुस्त कर देगा जहां मुझे इसे पुनरारंभ करना होगा।क्यूप्लिकेशन उदाहरण पाइथन खोल को सुस्त होने के कारण

from PyQt4 import QtGui 
app = QtGui.QApplication([]) 

जैसे ही सबमिट किया गया है, मेरा टाइपिंग 2 या 3 सेकंड से घिरा हुआ हो जाता है। मेरा कंप्यूटर शानदार नहीं है, लेकिन मेरे पास अभी भी बहुत सारी उपलब्ध स्मृति है, और यह केवल पाइथन खोल है जो प्रभावित प्रतीत होता है। मैंने एक ही परिणाम के साथ डिफ़ॉल्ट पायथन दुभाषिया और ipython दुभाषिया दोनों की कोशिश की है। कोई सुझाव?

अपडेट: मैंने %run जादू कमांड का उपयोग करके आईपीथॉन में एक स्टैंडअलोन पिक्ट "हैलो वर्ल्ड" प्रोग्राम चलाने का भी प्रयास किया और परिणामस्वरूप "हैलो वर्ल्ड" विंडो बंद करने के बाद आईपीथॉन पर नियंत्रण वापस कर दिया गया, यह वही प्रभाव पड़ा; खोल सुस्त हो गया और मेरा टाइपिंग 2-3 सेकंड तक लगी हुई शुरू हो गई।

+1

मैं इस मुद्दे को दोबारा नहीं कर सकता। क्या आपने "ipython --gui = 'qt'" के साथ प्रयास किया था? –

+0

उसने ऐसा किया। मुझे 100% यकीन नहीं है कि इसने इस मुद्दे को सही क्यों किया, लेकिन मैं यह देखने के लिए ipython दस्तावेज़ों को पढ़ूंगा कि यह वास्तव में क्या करता है। चूंकि मैं पिलैब का भी उपयोग कर रहा हूं, एक और कमांड जो काम करता है वह 'ipython --pylab qt' है। धन्यवाद! – bdiamante

उत्तर

3

यह आपकी मदद कर सकते हैं:

QtCore.pyqtRemoveInputHook() 

जब QtCore मॉड्यूल पहली बार यह स्थापित करता है के लिए आयात किया जाता है एक अजगर इनपुट हुक (यानी यह पायथन के PyOS_InputHook चर के मूल्य निर्धारित करता है।)। यह आदेश चलने के दौरान दुभाषिया प्रॉम्प्ट पर आदेशों को दर्ज करने की अनुमति देता है। इसके बाद गतिशील रूप से नई क्यूटी ऑब्जेक्ट्स बनाना संभव है और मौजूदा क्यूटी ऑब्जेक्ट के तरीकों को कॉल करें।

इनपुट हुक कुछ प्रकार के अनुप्रयोगों के लिए समस्याएं पैदा कर सकता है, विशेष रूप से वे जो विभिन्न माध्यमों के माध्यम से समान सुविधा प्रदान करते हैं। यह फ़ंक्शन PyQt द्वारा स्थापित इनपुट हुक को हटा देता है।

इनपुट हुक को pyqtRestoreInputHook() फ़ंक्शन का उपयोग करके पुनर्स्थापित किया जा सकता है।

http://www.riverbankcomputing.com/static/Docs/PyQt4/html/qtcore.html#pyqtRemoveInputHook

+0

आकर्षण की तरह काम किया। जैसे ही इनपुट हुक बंद हो गया, खोल फिर से उत्तरदायी हो गया और जैसे ही हुक बहाल हो गया, यह सुस्त हो गया। यह निश्चित रूप से अपराधी ऐसा लगता है। धन्यवाद! – bdiamante

+0

क्या आप उत्तर दें तो उत्तर को ऊपर उठाएं/स्वीकार करें? – warvariuc