팝업 메뉴의 PyGTK 테마 변경

팝업 메뉴의 PyGTK 테마 변경

몇 시간 동안 구글에서 검색하다가 이제 포기했습니다...

내 앱의 팝업 메뉴 배경을 변경해야 합니다. 시스템 기본 테마가 무엇이든 설정되어 있으며... 항상 Radiance로 설정해야 합니다.

이것을 달성하는 방법에 대한 아이디어가 있습니까?

지금의 모습은 이렇습니다. 밝은 색상이어야 합니다.

답변1

내 팝업 창의 테마는 다음과 같습니다.

#Use Css themes
css = Gtk.CssProvider()
css.load_from_data("""
        .popup {background-color: rgba(0,0,0,0); border: 0px rgba(255,255,255,0);  border-radius: 14px; border-width: 0;  }
    """ 
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), css,
        Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

#Get popup parent and set rgba visual so I can do transparency
pwindow=self.popup.get_parent()
screen=pwindow.get_screen()
pwindow.set_visual(screen.get_rgba_visual())

#Give popups the popup CSS class
self.popup.get_style_context().add_class('popup')

또한 팝업 창을 그리고 멋진 질감을 주기 위해 cairo를 사용합니다. 그렇게 하려면 'draw' 신호를 콜백에 연결하기만 하면 됩니다.

배경색이 무엇인지 알아보고 배경색 CSS 설정에 사용하기 위해 Radiance Gtk 테마를 살펴보겠습니다. 에서 찾을 수 있습니다 /usr/share/themes/Radiance/Gtk-3.0/gtk.css. 투명성이 필요하지 않다면 위의 pwindow 항목을 건너뛰고 팝업에 style_context를 추가하세요.

관련 정보