Значок окна Exe в PyQt4

У меня есть небольшая программа в PyQt4, и я хочу скомпилировать программу в Exe. Я использую py2exe, чтобы сделать это. Я могу успешно установить значок в строке заголовка окон с помощью следующего кода, но когда я компилирую его в exe, значок потерян, и я вижу приложение Windows по умолчанию. вот моя программа:

import sys
from PyQt4 import QtGui


class Icon(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QtGui.QIcon('c:/python26_/repy26/icons/iqor1.ico'))


app = QtGui.QApplication(sys.argv)
icon = Icon()
icon.show()
sys.exit(app.exec_())

**** Вот setup.py для py2exe ****

from distutils.core import setup
import py2exe

setup(windows=[{"script":"iconqt.py"
               ,"icon_resources": [(1, "Iqor1.ico")]}]
                   ,options={"py2exe":{"includes":["sip", "PyQt4.QtCore"]}})
10
задан Caleb Huitt - cjhuitt 23 February 2010 в 14:23
поделиться

2 ответа

Я считаю, что вам нужно ссылаться на файл .ico непосредственно из EXE или DLL, которые вы создаете с помощью py2exe. Похоже, что вы правильно написали сценарий setup.py, поэтому посмотрите на: http://www.py2exe.org/index.cgi/CustomIcons. Там есть пример для wxWidgets, но вы можете попробовать адаптировать его для Qt.

3
ответ дан 3 December 2019 в 20:41
поделиться

Я бы посоветовал вам создать файл с именем YourApp.rc, добавить следующую строку:

IDI_ICON1   ICON    DISCARDABLE "res/icons/app_icon.ico"

Затем в вашем файле .PRO добавьте следующие строки:

win32{
RC_FILE = YourApp.rc
}

Это должно решить вашу проблему!

0
ответ дан 3 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: