أكثر

كيف يمكن أن يكون GUI مرئيًا حتى يتم الانتهاء من كل العمل؟ (ملحق QGIS ، بيثون)

كيف يمكن أن يكون GUI مرئيًا حتى يتم الانتهاء من كل العمل؟ (ملحق QGIS ، بيثون)


لقد صنعت واجهة مستخدم رسومية في QTDesigner لـ QGIS2.10 (كمربع حوار). عندما أضغط على زر موافق (إذا كانت النتيجة == QtGui.QFileDialog.Accepted :) كل شيء يعمل بشكل جيد ولكن واجهة المستخدم تختفي. كيف يمكن أن يبقى GUI هناك - يكون مرئيًا حتى يتم الانتهاء من كل العمل (من المقرر أن يكون في المقدمة)؟ هل أحتاج إلى شيء مثل جهاز ضبط الوقت أم يجب أن أبحث عن نوع من الممتلكات النسبية؟


كما قال dmh126 ، يمكنك العمل مع الإشارات والأحداث.

لنفترض أن لديك QPushButton يسمىrunButtonالمسمى "موافق" أو أي شيء. ضع السطر التالي في نهاية ملفinitGuiوظيفة:

self.dlg.runButton.clicked.connect (self.onStart)

(استبدالdlgبما ينطبق عليك).

يعلن أonStartالوظيفة التي ستستدعي وظيفتك الرئيسية:

pyqtSlot ()
def onStart (ذاتي):

الذي عليه أن يقوم بالخدعة.