سؤال

أحاول تقديم طلب Cherrypy مع Wxpython UI. المشكلة هي كلا المكتبات تستخدم معالجات أحداث حلقة مغلقة. هل هناك طريقة لهذا العمل؟ إذا كان لدي WX UI Start Cherrypy هل ستكون قفل UI؟

هل كانت مفيدة؟

المحلول

انظر جوابي في Cherrypy يتداخل مع إغلاق الملتوية على النوافذ

باختصار، يعالج Cherrypy الحلقة الرئيسية بشكل افتراضي، لكنه بالتأكيد لا يحتاج إلى ذلك. توقف عن استخدام QuickStart و Call Engine.Start بدون محرك .BLOCK، وسيتم تشغيل CP في مؤشرات الترابط الخاصة به وترك الخيط الرئيسي لإطارك الآخر للتحكم فيه.

نصائح أخرى

إذا كنت تستخدم الخيوط، يجب أن تكون قادرا على بدء تشغيل خادم Cherrypy في مؤشر ترابط واحد وتشغيل WxPython في الآخر. هذه المقالة (http://wiki.wxpython.org/longrunningtasks.) على Wxpython Wiki لديه بعض المعلومات حول الخيوط، ورمز مصدر خادم Cherrypy (http://www.cherrypy.org/browser/trunk/cherrypy/wsgiserver/__init__.py.) لديه بعض الوثائق حول كيفية عمل الخادم، وربما كيف يمكنك الحصول عليها للتفاعل مع المواضيع.

سيتم بدء تشغيلها في إحدى الطرق لتشغيلها كعمليات منفصلة وتواصلها عبر نوع من آلية IPC. قد تضطر إلى كتابة محول صغير لجعلهم يتحدثون بروتوكولا شائعا.

نظرا لأنك تقوم بعمل Cherrypy، فقد تكون قادرا أيضا على فضح واجهة تحكم عبر HTTP التي يمكن أن يستخدمها WX وليكس لقيادة الخادم الخاص بك.

أود أن أشجعك على إلقاء نظرة على العيار (مدير الكتب الإلكترونية) مصدر. وبعد تتم كتابةه في Pyqt، ولكنه يستخدم Cherrypy للسماح للناس بمشاهدة مكتبةهم من خارج شبكة LAN الخاصة بهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top