如何使用 fbs 在 PyQt 样式表中引用资源文件



我正在使用fbs构建一个PyQt5应用程序,并且(按照本教程(已将图像文件放在目录/src/main/resources/base/images中。这样,使用 Python 代码可以使用 ApplicationContext.get_resource("images/xxxx.png") 图像资源。构建系统管理正确的文件路径,具体取决于我们是从应用程序的源代码还是编译版本运行。

我想在我的 PyQt 样式表中访问这些图像,按照

QTreeView::branch:closed:has-children:has-siblings {
    border-image: none;
    image: url(:/images/branch-closed.png);

但是,上面的代码不显示图像。

有没有办法从 PyQt5 样式表中引用 fbs 资源?

当你使用 ":" 时,假定你正在使用 qresource,但 fbs 不使用它,所以你必须使用本地路径:

QSS = '''
QTreeView::branch:closed:has-children:has-siblings{
    border-image: none;
    image: url(%(branch_icon)s);
}
'''
# ...
appctxt = ApplicationContext()
branch_icon = appctxt.get_resource("images/branch-closed.png")
qss = QSS % {"branch_icon": branch_icon}
appctxt.app.setStyleSheet(qss)

最新更新