그래서 기본 메뉴 구조가 있습니다/부착 한 개 이상의 메뉴 항목에 하위 메뉴를 복제
menu = gtk.menu()
item1 = gtk.MenuItem('Item 1')
item2 = gtk.MenuItem('Item 2')
menu.append(item1)
menu.append(item2)`
menu.show_all()
을 그리고 하위 메뉴가 :이 같은 하위 메뉴를 첨부 할 지금
submenu = gtk.menu()
subitem1 = gtk.MenuItem('Option 1')
subitem2 = gtk.MenuItem('Option 2')
submenu.append(subitem1)
submenu.append(subitem2)
submenu.show_all()
을 구조를 최상위 메뉴 항목 모두에 적용합니다. 내 첫번째 생각은 단순히 item1
및 item2
모두 .set_submenu(submenu)
를 추가하는 작업해야했지만, 그것은 나에게 오류 제공 :
Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem
을하고 하위 메뉴 만이 부착 된 마지막 항목에 표시됩니다.
사실 두 개 이상의 최상위 항목이 있으며 대부분의 하위 메뉴 구조를 동일하게 연결해야합니다. 따라서 각 항목에 대해 동일한 하위 메뉴 구조를 정의하는 것은 실제로 옵션이 아닙니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?
이것은 이상한 구조처럼 보입니다. 왜 여러 항목에 동일한 하위 메뉴를 정의합니까? 하나의 메뉴를 만들고 사용자가 어떤 요소를 마우스 오른쪽 버튼으로 클릭했는지 살펴 봄으로써 일치하는 항목을 결정하십시오. – joaquinlpereyra
@joaquinlpereyra 어제, 마우스 오른쪽 버튼을 클릭하지 않고 (그냥 마우스를 가져 가면) 드리프트를 얻습니다. 나는 자바 스크립트에서 비슷한 일을했지만 파이썬에서 어떻게 해야할지 모르겠다. 어떤예요? – Razor
흠, 유혹은 도전처럼 보입니다. 사용자가 어디로 유인하고 있는지 감지 할 수 있습니까? 이 메뉴 아래에있는 위젯은 무엇입니까? – joaquinlpereyra