Е
29 октября 2019 г. 14:01

Как в PyQt5 через Qt Designer поменять иконку программы в панели задач компьютера и можно ли запустить программу написанную на python на компьютере без среды разработки для данного языка?

Добрый день! Не подскажите как в PyQt5 через Qt Designer поменять иконку программы в панели задач компьютера и можно ли запустить программу написанную на python на компьютере без среды разработки для данного языка?

2

Вам это нравится? Поделитесь в социальных сетях!

13
Evgenii Legotckoi
  • 29 октября 2019 г. 14:04

Добрый день.

Уточните сразу, под какую операционную систему пишите.
А вообще интерпретатор языка обязательно нужен. Как вариант можно поискать ещё информацию о компиляции программы в бинарник, тогда ещё можно будет наверное обойти проблему установки интерпретатора.

    Е
    • 29 октября 2019 г. 14:06

    Под Windows 7

      Evgenii Legotckoi
      • 29 октября 2019 г. 14:20

      Не знаю, насчёт дизайнера, но вы пробовали в коде использовать setWindowIcon?

      Ещё я бы погуглил про использование RC_ICONS в PyQt5, очень хорошо бы погуглил, поскольку в первых ссылках я не нашёл адекватной информации об этом.

        Е
        • 29 октября 2019 г. 14:24

        Пробывал, пишет: ModuleNotFoundError: No module named 'ikona_rc', хотя он лежит в папке проекта

          Вам нужно скомпилировать ресурсы, как внешние ресурсы. Думаю, что PyQt5 не компилирует их автоматически.

          pyrcc5 ikona.qrc -o ikona_rc.py

            Е
            • 29 октября 2019 г. 14:35

            Опять не хочет(

              Вот более полный вариант подключения ресурсов в PyQt5

              генерируем внешний ресурс из файла ресурсов

              pyrcc5 -o resources.py resources.qrc

              импортируем

              1. import resources

              Чтобы использовать ресурс в своем коде, вы должны использовать префикс ":/":

              Пример. Должно работать примерно таким образом.

              1. from PyQt5.QtCore import *
              2. from PyQt5.QtGui import *
              3.  
              4. import resources
              5.  
              6. pixmap = QPixamp(":/newPrefix/download.jpeg")

              То есть нужно сначала скомпилировать ресурсник, а потом подключить его в проекте.

                Е
                • 29 октября 2019 г. 15:32

                Этот процесс автоматически прописывает Qt Designer, но иконка меняется только на самой форме программы, в панели задач иконка остается питоновской. Видимо лучше на это забить))

                  Ясно, надо искать тогда в направлении RC_ICONS. Эта штука при компиляции в Qt/C++ добавляет иконку в бинарник, она и отображается в панели задач.
                  Так что остаётся искать решение в этом направлении и зачитывать документацию на PyQt5 до дыр.

                    Е
                    • 29 октября 2019 г. 15:41

                    Согласен с Вами Евгений, может получится через бинарники, попробую

                      Evgenii Legotckoi
                      • 29 октября 2019 г. 15:46
                      • (ред.)

                      я не совсем это имел ввиду. Дело в том, что иконка приложения сама по себе не добавляется в ресурсный файл. Она туда внедряется на этапе копиляции. При этом для Windows в pro файл прописывается директива RC_ICONS

                      1. win32: RC_ICONS = $$PWD/images/myappico.ico

                      Поэтому иконка и отображается в панели задач. Я вообще не уверен, что в PyQt5 это решено каким-то адекватным способом. Да и в интернете не так много информации на эту тему.

                      Это платформозависимый функционал.

                        Оказалось что ответ весьма прост)): в командной строке в директории проекта набираем:

                        1. pyinstaller -w -F -i "C:\Dir\ikona.ico" my_project.py

                        Флаг -w глушит консоль, -F упаковывает все в exe - файл, -i добавляет иконку

                          Ну вот. Оказалось, что это решается упаковкой проекта в бинарник средствами самого Python

                            Комментарии

                            Только авторизованные пользователи могут публиковать комментарии.
                            Пожалуйста, авторизуйтесь или зарегистрируйтесь
                            • Последние комментарии
                            • IscanderChe
                              12 апреля 2025 г. 17:12
                              Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
                            • AK
                              1 апреля 2025 г. 11:41
                              Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                            • Evgenii Legotckoi
                              9 марта 2025 г. 21:02
                              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                            • VP
                              9 марта 2025 г. 16:14
                              Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                            • ИМ
                              22 ноября 2024 г. 21:51
                              Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…