QGIS Masaüstü uygulamasına yeni menü öğesi eklensin mi?


14

Ben QGIS Masaüstü (2.7.0) üst düzey menüsüne yeni menü öğesi eklemek gerekir; Yani "Proje", "Düzenle", "Görünüm", "Katman" vb. İle aynı seviyede olmalıdır.

Bildiğim kadarıyla QgisInterface ( http://qgis.org/api/classQgisInterface.html ) kullanarak menü öğelerini (Settings-> Customization) Plus'ı gizlemenin oldukça güzel bir yolu var QGIS ( addLayerMenu, addPluginToDatabaseMenu etc) eklenti kodumdan.

Ama üst katta yeni Menü öğesine ihtiyacım var (bu müşteriden req).

Yanıtlar:


22

QGIS GUI'ye şu şekilde özel bir menü ekleyebilirsiniz:

self.menu = QMenu( "&My tools", self.iface.mainWindow().menuBar() )
actions = self.iface.mainWindow().menuBar().actions()
lastAction = actions[-1]
self.iface.mainWindow().menuBar().insertMenu( lastAction, self.menu )

Yukarıdaki kod snippet'inde görebileceğiniz gibi, menü çubuğunun ikinci-son konumuna menüden hemen önce bir menü ekliyorsunuz Help.

resim açıklamasını buraya girin

Ardından, yeni eklenen menünüze şu şekilde bir eylem ekleyebilirsiniz:

self.menu.addAction( self.action )

Zaten biliyor olabilirsiniz, ancak sadece açıklığa kavuşturmak için, bu GUI yapılandırmasının normalde initGui()eklentinizin yönteminde bulunması gerekir.


1
Güzel cevap (herkes ekran görüntülerini sever!). Sadece başında
QMenu almayı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.