أكثر

كيف أفتح النافذة الثانية في البرنامج المساعد الخاص بي لـ QGIS؟

كيف أفتح النافذة الثانية في البرنامج المساعد الخاص بي لـ QGIS؟


أقوم بإنشاء Mainwindow للمكون الإضافي الخاص بي ، ولكن إذا كنت أرغب في فتح نافذة ثانية من هذا Mainwindow ، فاضغط على زر الضغط. كيف استطيع ان افعل؟ جربت الوظيفة التالية في صفي الرئيسي:

الحوار = QDialog () الحوار .ui = Ui_SecondWindow () الحوار. ui.setupUi (الحوار) الحوار. exec_ ()

لكن لا يعمل. أستخدم QGIS 2.4 و PyQt 4.


إذا قمت بتجميع ملف Ui الخاص بك إلى ملف .py مع pyuic ، فأنت تقوم بالإعداد على النحو التالي:

yourplugin_dialog.py:

من PyQt4 ، استيراد QtCore ، QtGui من ui_yourdialog import Ui_YourDialog # قم بإنشاء مربع حوار للتكبير للإشارة إلى yourplugin_dialog.py class YourDialog (QtGui.QDialog): def init (self): QtGui.QDialog.init (واجهة ذاتية) # إعداد المستخدم من ملف ui المترجم. self.ui = Ui_YourDialog () self.ui.setupUi (ذاتي)

أو للترجمة وقت التشغيل من ملف .ui:

استيراد نظام التشغيل من PyQt4 ، استيراد QtGui ، uic FORM_CLASS ، _ = uic.loadUiType (os.path.join (os.path.dirname (__ file__) ، 'yourplugin_ui.ui')) class YourDialog (QtGui.QDialog، FORM_CLASS): def __init__ (self، parent = None): "" "Constructor." "" super (YourDialog، self) .__ init __ (الأب) self.setupUi (self)

وأنشئ المثيل أينما تريد استخدام مربع الحوار:

من yourplugin_dialog import YourDialog def __init __ (self، iface): self.dialog_instance = YourDialog () def show_dialog (self): self.dialog_instance.exec_ ()

شاهد الفيديو: حلقة QGIS 3