노틸러스의 하위 메뉴 항목 마우스 오른쪽 버튼 클릭 메뉴
문제
Nautilus의 확장자를 쓰려고합니다. 파일을 마우스 오른쪽 버튼으로 클릭 할 때 나타나는 메뉴에 항목을 추가합니다 (이미지에 표시).
그러나 사용자 정의 메뉴 항목에 하위 메뉴를 추가하고 싶습니다.
나는 '노틸러스-파이썬'패키지를 다운로드했습니다. 여기에는 노틸러스에 대한 확장 방법을 작성하는 방법에 대한 예가 포함되어 있습니다 (지금까지 내가 찾은 최고의/유일한 문서로 판명되었습니다). 그것에서, submenu.py라는 파일은 다음을 포함합니다.
import nautilus
class ExampleMenuProvider(nautilus.MenuProvider):
def get_file_items(self, window, files):
menuitem = nautilus.MenuItem('ExampleMenuProvider::Foo', 'Foo', '')
submenu = nautilus.Menu()
menuitem.set_submenu(submenu)
menuitem = nautilus.MenuItem('ExampleMenuProvider::Bar','Bar','')
submenu.append_item(menuitem)
return menuitem,
# FIXME: Why isn't this working?
def get_background_items(self, window, file):
submenu = nautilus.Menu()
submenu.append_item(nautilus.MenuItem('ExampleMenuProvider::Bar', 'Bar', ''))
menuitem = nautilus.MenuItem('ExampleMenuProvider::Foo', 'Foo', '')
menuitem.set_submenu(submenu)
return menuitem,
추신 : "# 수정 : 왜 작동하지 않습니까?"를 추가하지 않았습니다. 그것은 실제로 예제에 포함되어 있습니다
코드가 작동하지 않습니다. 두 번째 기능을 꺼내 첫 번째 기능 만 남겨더라도 작동하지 않습니다.
도움을 주셔서 감사합니다. 감사합니다.
해결책
솔루션을 찾았습니다.
- 당신은 필요합니다 이니 기능이 선언되었습니다.
위의 예에 따라 변수 이름을 변경해야했습니다.
import nautilus class ExampleMenuProvider(nautilus.MenuProvider): def __init__(self): pass def get_file_items(self, window, files): submenu = nautilus.Menu() item = nautilus.MenuItem('Nautilus::sbi','Nau-T','image') item.set_submenu(submenu) item_two = nautilus.MenuItem('Nautilus::s','www','image') submenu.append_item(item_two) return item,
제휴하지 않습니다 StackOverflow