Добавление файлов ресурсов в PyQt

Рейтинг: 0Ответов: 1Опубликовано: 20.01.2023

Помогите, пожалуйста. Добавил файл .qrc:

<RCC>
    <qresource prefix="/images">
        <file>C:/Users/Roman/PycharmProjects/48/images/flag.png</file>
        <file>C:/Users/Roman/PycharmProjects/48/images/cubs.png</file>
    </qresource>
</RCC>

Отметил его как файл ресурсов. При вводе в терминале выдает такое:

PS 
C:\Users\Roman\PycharmProjects\48\resources> pyrcc5 -o icon_rc.py icon.qrc

Cannot find file: C:/Users/Roman/PycharmProjects/48/images/flag.png
Cannot find file: C:/Users/Roman/PycharmProjects/48/images/cubs.png
No resources in resource description.

Как же добавить эти злополучные ресурсы(( уже несколько дней мучаюсь... GPT chat говорит мол проверь есть ли там файлы, убедись что ты не олень))

Ответы

▲ 0Принят

Можно добавить файлы через auto-py-to-exe без файла ресурсов.
В моем примере сохранил .png файл в корень папки там же где и main.py, прописал функцию def resource_path(relative_path) и использование файла как ярлыка окна

icon = QIcon(resource_path("flag.png"))
MainWindow.setWindowIcon(icon)

потом при запуске auto-py-to-exe добавляем файл (там это сделать легко по кнопкам)


import sys 
import os

def resource_path(relative_path):
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(990, 520)
    
        icon = QIcon(resource_path("flag.png"))
        MainWindow.setWindowIcon(icon)