أكثر

إضافة PyQGIS Plugin إلى قائمة قاعدة البيانات

إضافة PyQGIS Plugin إلى قائمة قاعدة البيانات


أقوم بتطوير مكون إضافي أود إضافته إلى قاعدة البيانات القائمة بدلا من الافتراضي الإضافات قائمة.

وفقًا لكتاب PyQGIS Developer Cookbook ، كل ما علي فعله هو إضافة

فئة = قاعدة بيانات

إلى المكون الإضافي الخاص بي metadata.txt.

ومع ذلك ، هذا ليس له أي تأثير. هل يجب علي إضافة شيء في بلدي initGui كذلك؟

تبدو initGui حاليًا كما يلي:

def initGui (self): self.importCSV_action = QAction ('استيراد CSV'، self.iface.mainWindow ()) QtCore.QObject.connect (self.importCSV_action، QtCore.SIGNAL ("activated ()")، self.importCSV) self.iface.addPluginToMenu ('xxx' ، self.importCSV_action)

إذا تركت فئة = قاعدة بيانات يظهر البرنامج المساعد في ملف metadata.txt كما هو متوقع في قائمة المكونات الإضافية.


يعتبر إدخال الفئة في metadata.txt بمثابة نصيحة لمستخدم البرنامج المساعد. من كتاب طبخ مطور pyqgis: http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/plugins.html

يوجد إدخال بيانات تعريف مقابلة "فئة" لتحديد ذلك ، لذلك يمكن تصنيف المكون الإضافي وفقًا لذلك. يتم استخدام إدخال البيانات الوصفية هذا كنصيحة للمستخدمين ويخبرهم بمكان (في أي قائمة) يمكن العثور على المكون الإضافي. القيم المسموح بها لـ "الفئة" هي: Vector أو Raster أو Database أو Web. على سبيل المثال ، إذا كان المكون الإضافي الخاص بك سيكون متاحًا من قائمة Raster ، فأضفه إلى metadata.txt

إذا كنت تستخدم أحدث أداة Plugin Builder ، فإن الكود:

self.iface.addPluginToMenu (القائمة الذاتية ، العمل)

يجب ان يكون:

self.iface.addPluginToDatabaseMenu (القائمة الذاتية ، الإجراء)

أو في حالتك:

self.iface.addPluginToDatabaseMenu ('xxx' ، self.importCSV_action)

شاهد الفيديو: QGIS Python PyQGIS - Create a Custom Processing Script for QGIS in the Processing Toolbox