如何使用fbs在PyQt样式表中引用资源文件
How to reference resource file in PyQt stylesheet using fbs
我正在使用 fbs 构建 PyQt5 应用程序并且 (following this tutorial) 已将图像文件放在目录 /src/main/resources/base/images
中。这样,使用 ApplicationContext.get_resource("images/xxxx.png")
的 Python 代码就可以使用图像资源。构建系统根据我们是 运行 来自源代码还是应用程序的编译版本来管理正确的文件路径。
我想在我的 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)
我正在使用 fbs 构建 PyQt5 应用程序并且 (following this tutorial) 已将图像文件放在目录 /src/main/resources/base/images
中。这样,使用 ApplicationContext.get_resource("images/xxxx.png")
的 Python 代码就可以使用图像资源。构建系统根据我们是 运行 来自源代码还是应用程序的编译版本来管理正确的文件路径。
我想在我的 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)