2012-11-24 22 views
5

के बीच अलग-अलग व्यवहार पाइथन कंसोल और पायथन स्क्रिप्ट का उपयोग करके मुझे एक ही कोड पर अलग-अलग व्यवहार का अनुभव हो रहा है।पायथन कंसोल और पायथन लिपि

कोड इस प्रकार है:

import gtk 
import webkit 
win = gtk.Window() 
win.show() 
web = webkit.WebView() 
win.add(web) 
web.show() 
web.open("http://www.google.com") 

अजगर कंसोल में कोड चल रहा है, उत्पादन एक नया फ्रेम कि गूगल के मुख्य पृष्ठ होता है।

एक स्क्रिप्ट के रूप में कोड चलाते समय, परिणाम एक शून्य फ्रेम है। यह बहुत तेजी से बंद हो जाता है लेकिन अगर मैं देरी समारोह का उपयोग करता हूं, तो वेबकिट फ्रेम में नहीं जोड़ा जाता है।

यह कैसे संभव है?

इसके अलावा, पीईडीवी आईडीई का उपयोग करके यह झंडे: "अनसुलझा आयात: gtk", लेकिन यदि मैं प्रोजेक्ट चलाता हूं, तो प्रोग्राम संकलन की समस्या के बिना शुरू होता है। क्या यह सामान्य है?

उत्तर

8

अपनी स्क्रिप्ट के अंत तक

gtk.main() 

जोड़ें। यह gtk इवेंट लूप शुरू करता है।


import gtk 
import webkit 

class App(object): 
    def __init__(self): 
     win = gtk.Window() 
     win.connect("destroy", self.destroy) 
     web = webkit.WebView() 
     web.open("http://www.google.com") 
     win.add(web) 
     web.show() 
     win.show() 
    def destroy(self, widget, data = None): 
     gtk.main_quit() 
app = App() 
gtk.main() 
+0

कोई जवाब नहीं: डी यह काम किया! धन्यवाद, क्या आपको कोई विचार है कि क्यों pydev gtk लाइब्रेरी को पहचानता नहीं है लेकिन यह संकलित करता है? – Luca

+0

क्षमा करें, मुझे pydev के साथ कोई अनुभव नहीं है। – unutbu

+0

@PantomFav आप [** उत्तर स्वीकार कर सकते हैं **] (http://meta.stackexchange.com/a/5235/164313) क्योंकि यह आपके लिए काम करता है। – phant0m

1

मेरा अनुमान है कि कंसोल पाइथन सत्र को खुला रखता है, जबकि स्क्रिप्ट के अंत में कार्यक्रम बंद हो जाता है। जब स्क्रिप्ट बंद हो जाती है, तो यह सबकुछ इसके साथ बनाई जाती है।

इस सिद्धांत का परीक्षण करने के लिए कुछ: यदि आप कंसोल में "बाहर निकलें" टाइप करते हैं तो क्या आप इंटरफ़ेस को उसी तरह बंद कर देते हैं? यदि ऐसा है, तो कुछ कोड के बारे में सोचें (उदा। raw_input जैसे विराम) जो स्क्रिप्ट को खुला रहने की अनुमति देगा।

शुभकामनाएं!

+0

ठीक है, मैं बस की कोशिश की है, और सही समय एक पॉप अप दिखाई देगा इंतजार कर: मेटासिटी: से आवेदन – Luca

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