QGIS Desktop 앱에 새 메뉴 항목을 추가 하시겠습니까?


14

QGIS Desktop (2.7.0)의 최상위 메뉴에 새 메뉴 항목을 추가해야합니다. 즉, "프로젝트", "편집", "보기", "레이어"등과 같은 수준이어야합니다.

내가 아는 한 QgisInterface ( http://qgis.org/api/classQgisInterface.html )를 사용하여 메뉴 항목 숨기기 (설정-> 사용자 정의) 플러스 QGIS에 이미 정의 된 메뉴에 새 항목을 추가 할 수있는 좋은 방법이 있습니다 ( 플러그인 코드에서 addLayerMenu, addPluginToDatabaseMenu 등).

그러나 최상위 계층에 새로운 메뉴 항목이 필요합니다 (이는 고객의 요청입니다).

답변:


22

다음과 같은 방법으로 QGIS GUI에 사용자 정의 메뉴를 추가 할 수 있습니다.

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 )

위의 코드 스 니펫에서 볼 수 있듯이 메뉴 바로 앞에 메뉴 표시 줄의 두 번째에서 마지막 위치에 메뉴를 추가하고 Help있습니다.

여기에 이미지 설명을 입력하십시오

그런 다음 다음과 같이 새로 추가 한 메뉴에 작업을 추가 할 수 있습니다.

self.menu.addAction( self.action )

이미 알고있을 수도 있지만 명확하게하기 위해 이러한 GUI 구성은 일반적으로 initGui()플러그인 의 메소드에 있어야합니다 .


1
좋은 답변 (모두가 스크린 샷을 좋아합니다!). 처음에 QMenu를 가져 오는 것을 잊지 마십시오 ...
mozzbozz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.