我使用的是Python 3.4和Gtk 3.18。我已经弄清楚了如何通过小部件(在我的例子中是Gtk.Box )通过CSS实现背景图像。但是,我希望能够动态地将背景图像更改为用户指定的图像。如何做到这一点?
当前用于框背景的css文件的一部分。
.backImagePitPass {
background-image: url('../software/resources/PitPass.png');
background-size: contain;
background-position: left top;
background-repeat: no-repeat;
border: 1px solid black;
outline-style: solid;
}实现应用程序的样式表。
def _initStyles(self):
css_provider = Gtk.CssProvider()
css_provider.load_from_path('ui/main/gtk-widgets.css')
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)我试着这样做,但是盒子和里面的东西都没有显示出来。
context = self._boxPreview.get_style_context()
css_provider = Gtk.CssProvider()
css_provider.load_from_data(b'''
.backImagePitPass {
background-image: url('../software/resources//PitPass2.png');
background-size: contain;
background-position: left top;
border: 1px solid black;
}
''')
context.add_provider(css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)发布于 2018-08-29 01:28:23
在做了更多的搜索后,我在Setting Selected property of Row in TreeView dynamically in Gtk3 (python)找到了一个解决方案,它为我指明了一个可行的解决方案。
https://stackoverflow.com/questions/51997441
复制相似问题