
몇 시간 동안 구글에서 검색하다가 이제 포기했습니다...
내 앱의 팝업 메뉴 배경을 변경해야 합니다. 시스템 기본 테마가 무엇이든 설정되어 있으며... 항상 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를 추가하세요.