E
Oct. 29, 2019, 4:01 a.m.

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

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

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
13

Добрый день.

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

E

Под Windows 7

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

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

E

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

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

pyrcc5 ikona.qrc -o ikona_rc.py

E

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

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

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

pyrcc5 -o resources.py resources.qrc

импортируем

import resources

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

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

from PyQt5.QtCore import *
from PyQt5.QtGui import *

import resources

pixmap = QPixamp(":/newPrefix/download.jpeg")

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

E

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

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

E

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

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

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

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

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

E

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

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

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

T
Dec. 11, 2019, 4:56 p.m.
Toma

C++ - Тест 003. Условия и циклы

  • Result:50points,
  • Rating points-4
AT
Dec. 10, 2019, 8:06 a.m.
Anastasija Troschenkova

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
AT
Dec. 10, 2019, 8:02 a.m.
Anastasija Troschenkova

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
Last comments
Dec. 9, 2019, 3:41 a.m.
Evgenij Legotskoj

Эта ошибка invalid use of incomplete type ‘class Ui::AnotherWindow’ обычно говорит о том, что не найдено определение класса или структуры. Типичная проблема - не подключён заголовочны…
NB
Dec. 9, 2019, 3:36 a.m.
Nikolaj Batmanov

Ну, не настолько со мной всё полхо...))) Вроде бы. Я ж кнопки отрисовываю.
Dec. 9, 2019, 3:14 a.m.
Evgenij Legotskoj

Добрый день. У вас ui файлов по ходу нет. UI файлы используются для вёрстки в графическом дизайнере.
NB
Dec. 9, 2019, 3:05 a.m.
Nikolaj Batmanov

Здравствуйте! Полностью скопировал ваш пример к себе, чтобы разобраться. А он не хочет запускаться, дает ошибку: invalid use of incomplete type ‘class Ui::AnotherWindow’ ui(new Ui…
Dec. 8, 2019, 7:23 a.m.
Evgenij Legotskoj

У меня здесь есть одна старая статья с примером векторного редактора. Там есть ответы на ваши вопросы. Поизучайте Qt/C++ - Урок 072. Пример векторного редактора на Qt QGraphicsItem, QG…
Now discuss on the forum
MU
Dec. 11, 2019, 8:27 a.m.
Maciej Urmański

Thank you! Now works, and this is solution. num_embed = Embed.objects.filter(added_by=recipe.added_by).count()
Dec. 11, 2019, 8:12 a.m.
Mihailll

Так работает. Взял этот пример https://api-2d3d-cad.com/face_recognition_with_opencv/ void MainWindow::on_pushButton_4_clicked() //фото определение лица{ // Load Face cascade (.xml…
TD
Dec. 10, 2019, 4:14 a.m.
Timur Dosov

Спасибо, работает. А ещё вопрос: как загрузить страницу с динамической подгрузкой контента по скроллингу? Например - [https://ntvplus.ru/tv/]. Пока делаю через костыль - QApplication::s…
Dec. 9, 2019, 7:16 a.m.
qml_puthon_user

Я сделал простой вывод текста по испусканию сигнала... Чего не хватает программе?) Python: # системные библиотекиimport cv2import numpy as npimport sysimport threading# PyQt б…
SK
Dec. 8, 2019, 4:11 p.m.
Semen Kosandjak

інтерфейс qt, приклад того додаю на малюнку, я натискаю на кнопку і у мене з'являється 2 текст лайну в які я вводжу значення, тобто в 1 цифри,у другому випадку це літери, тобто c++, без графічно…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB