1

我正在使用 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 资源?

4

1 回答 1

1

当你使用“:”时,假设你使用的是一个 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)
于 2019-05-01T02:29:57.030 回答