Viac

Vytvára sa, aby sa tlačidlá QGIS a moje tlačidlo Doplnok navzájom vylučovali

Vytvára sa, aby sa tlačidlá QGIS a moje tlačidlo Doplnok navzájom vylučovali


Do hlavného okna QGIS som pridal panel s nástrojmi a na panel s nástrojmi som pridal niekoľko kontrolovateľných tlačidiel.

Ako môžem dosiahnuť, aby moje začiarknuteľné tlačidlá odopínali začiarknuteľné tlačidlá predvolených panelov nástrojov QGIS? To znamená, že keď svoje tlačidlo aktivujem kliknutím, chcem, aby boli deaktivované predvolené tlačidlá QGIS.

Existuje spôsob, ako získať QButtonGroup v hlavnom okne QGIS?


K tlačidlám (akciám) na paneli nástrojov QGIS môžete pristupovať pomocoučelímobjekt (dokumenty tu). Z týchto akcií môžete vytvoriť aQActionGroupa pridajte svoju vlastnú akciu, čím sa všetky akcie vzájomne vylučujú.

Nasledujúci úryvok kódu vám krok za krokom ukáže, ako na to. Vložil som útržok kódu doinitGui (sám)metóda môjho testovacieho pluginu.

# Uistite sa, že je možné vašu akciu prepnúť self.action.setCheckable (True) # Vytvorte zoznam akcií z navigačného panela nástrojov QGIS actionList = self.iface.mapNavToolToolBar (). Actions () # Pridajte akcie z panela s atribútmi QGIS (manipulácia s QWidgetActions) tmpActionList = self.iface.attributesToolBar () actions () pre akciu v tmpActionList: if isinstance (action, QWidgetAction): actionList.extend (action.defaultWidget (). actions ()) else: actionList.append (action) #… pridať zoznamy akcií na ďalších paneloch nástrojov ... # Vytvorte skupinu s akciami z actionList a pridajte svoju vlastnú skupinu akcií = QActionGroup (self.iface.mainWindow ()) group.setExclusive (True) pre akciu v skupine actionList: group.addAction (action). addAction (self.action)

Môžete získať a demo plugin zobrazujúce toto správanie odtiaľto. V súbore README máte pokyny na inštaláciu a konfiguráciu.

Po nainštalovaní ukážkového doplnku si môžete všimnúť, že tlačidlo vášho doplnku deaktivuje tlačidlá QGIS a naopak.

Poznámka: Zahrnul som iba akcie z panelov nástrojov Navigácia a Atribúty QGIS. Možno budete musieť pridať aj ďalšie akcie na paneli nástrojov QGIS. Všetky panely nástrojov QGIS, ktoré môžete získať, sú zobrazené v rozhraní QgisInterface.


Pozri si video: انظمة تحويل الارجاع الجغرافي Geo-referencing Transformation Methods ج1