Как ссылаться на файл ресурсов в таблице стилей PyQt, используя fbs - PullRequest
1 голос
/ 01 мая 2019

Я создаю приложение PyQt5 с использованием fbs и ( после этого урока ) поместил файлы изображений в каталог /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);

однако приведенный выше код не отображает изображение.

Есть ли способ ссылаться на ресурсы fbs из таблиц стилей PyQt5?

1 Ответ

1 голос
/ 01 мая 2019

Когда вы используете ":", предполагается, что вы используете 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)
...