Форум сайта python.su
Можно ли как - то передать в setWindowIcon массив байт иконки?
mainico = ['\x00', '\x00', '\x01', '\x00', '\x16', '\x00', ...]
Отредактировано Viktor1703 (Март 1, 2014 17:41:10)
Офлайн
Додумался только до этого
file = open('E:\\wmp.ico', 'rb') try: for byte in bytearray(file.read()): print('\\x{0}'.format(format(byte, '02x'))) finally: file.close()
Офлайн
Мда, мёртво…. как будто на Python вообще ни кто не пишет для Desktop'a
Офлайн
А смысл?
Desktop отмирает.
Задачи для десктопа не самые интересные.
Офлайн
> Можно ли как - то передать в setWindowIcon массив байт иконки?
Зачем передавать иконку в виде массива байт?
> Desktop отмирает.
Не дождётесь. Desktop жил, жив и будет жить!
Офлайн
Viktor1703файл, открытый в бинарном режиме и прочитанный через .read(), - уже массив байт
Додумался только до этого
Офлайн
В общем спасибо _den_ с форума по AutoIt
#-*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore mainicon = b"\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08"\ b"\x06\x00\x00\x00\x1f\xf3\xff\x61\x00\x00\x02\x1f\x49\x44\x41\x54\x38\x8d\x95\x92\xcd\x4b\x54\x51\x18"\ b"\xc6\x7f\xe7\xce\x99\x3b\xe8\x8c\x63\x33\x6a\x9a\xc6\x84\x08\x85\x62\x5f\x34\x63\x58\x18\x31\x11\x94"\ b"\xd4\x4a\x72\x61\x20\xad\x12\x5a\xb6\x9a\xbf\xa0\x20\xa8\x65\x0b\x21\x88\xc0\xa8\x28\x5a\xe4\x42\x86"\ b"\xa0\x0f\x17\x92\x4c\xa6\x1b\x8b\x06\xbf\x32\x8b\xf1\x63\x72\x74\x6a\x3e\xbc\x77\x4e\x8b\xd1\xab\x71"\ b"\x87\xa2\x67\x75\x78\xdf\xe7\xfd\xbd\xe7\x3c\x1c\x11\x89\x2a\xd5\xff\x1e\x92\x19\xfe\x4b\x5e\x1d\xae"\ b"\xb5\x81\xf0\xdf\x54\xea\xce\xa5\x57\xa4\x55\x12\xa5\x34\x8c\x82\x8f\x42\xc1\x85\x61\xee\xc2\x34\x2b"\ b"\x50\x38\x4b\x02\x7c\x4e\x27\x91\xe7\x7e\x64\x32\x03\x19\x31\xcf\xf8\xea\x34\xa6\x59\x8e\x59\xf0\xd0"\ b"\xb4\xbc\x40\xdb\xd7\x51\x02\xa9\x39\x00\xa6\x3c\x47\x19\xf6\x77\xf2\xb1\xba\xc3\x02\xb4\xef\x76\xb3"\ b"\x96\x07\x09\x80\x30\x11\x22\x87\x94\x39\x7a\x63\x8f\x09\x2d\x8c\x21\xe5\xf6\xb6\xa6\x64\x9c\xf0\xe2"\ b"\x13\xde\xfa\x2f\xd0\x7f\xe0\x16\x86\xc3\x65\xf5\x34\x00\x81\x89\x10\x1b\x5c\x1c\x7f\x49\x7b\x62\x0c"\ b"\x77\x6d\x00\x57\xd7\x00\x2e\x77\x19\x2e\xbd\x68\x74\x97\xc3\xa9\xe4\x20\xdd\xf1\x1b\x7f\x3c\x45\xb3"\ b"\xb6\x2c\x4e\x13\x9e\x8b\x6d\x77\x5a\x7a\xe0\x6a\x1c\x1a\xcf\x5a\x10\x29\x21\xfc\x7d\x80\xe6\xe5\x61"\ b"\x3b\x20\x38\x3b\x89\x94\x58\x66\x00\x3c\x0d\xd0\x1d\x85\x33\xb7\xc1\x59\xbc\x8d\xc7\xa9\x38\x39\xf3"\ b"\xc0\x0e\xa8\x49\xad\x94\x4c\xbb\x48\xbf\x0e\x57\x3e\x40\x7d\x1b\x52\x42\x75\x7a\xca\x0e\xf8\xa7\x1c"\ b"\x3a\xc8\x32\x00\xd4\x8e\x31\xeb\xb4\xe4\xad\xc2\x30\x4a\xcf\xaa\x89\x7e\xb8\x7f\x18\xbe\xbc\xc1\x30"\ b"\x60\xc5\xd3\x68\x07\xc4\x1a\x5b\xec\x93\xe9\x05\x78\x7a\x1e\x31\xd4\x07\xd9\x75\x00\x92\x59\x8d\x91"\ b"\x7d\x5d\x76\xc0\x4c\xed\x5e\x5e\x07\x0e\xf2\xf3\xd7\x66\x61\xf2\x21\xdc\x6b\x86\xa9\x21\xcb\x9c\x48"\ b"\x09\x46\xaa\x3b\xf8\x5c\x1f\x04\x4c\x60\xeb\x23\x6d\x6a\xf0\xd8\x69\x3c\x46\x96\xe0\xb7\x38\xf2\xd9"\ b"\x65\xab\x6e\x18\x90\xde\x10\x4c\x54\xb5\xf2\xe2\x44\x2f\x8e\xfc\x3a\x9a\x96\xb3\x03\x00\x1e\x1d\x3f"\ b"\xc7\xbb\x44\x2b\xc1\xd9\x49\xea\x7e\x2c\x01\x30\xef\xdf\xc3\x58\x20\xc4\xa7\x9a\x10\x28\x90\x8e\x55"\ b"\x34\x91\x2d\x02\xbc\x3a\x54\x88\x06\x8e\x54\xee\xa0\x54\x1e\x22\xbe\xbf\x93\xf8\x56\x88\x4a\xc7\x07"\ b"\x84\xcc\x0a\x00\xf2\x46\x1d\x3e\xe9\xc0\xab\x83\x88\x44\x95\xba\x3b\x0a\x6b\x79\x7b\x86\x7f\x93\x57"\ b"\x87\xbe\x10\xfc\x06\x4e\x94\xaf\x5e\x2d\x98\x37\xe7\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82" class Resource(): @staticmethod def loadImageFromRawData(image, format): pixmap = QtGui.QPixmap() pixmap.loadFromData(QtCore.QByteArray(image), format) return pixmap class Form(QtGui.QMainWindow): def __init__(self, parent = None): super(Form, self).__init__(parent) self.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint) self.setWindowIcon(QtGui.QIcon(Resource.loadImageFromRawData(mainicon, 'PNG'))) self.setWindowTitle('Форточка') self.resize(500, 350) self.show() class Program(QtGui.QApplication): def __init__(self, argv = []): super(Program, self).__init__(argv) def Run(self, form): if isinstance(form, QtGui.QMainWindow): return self.exec_() if __name__ == '__main__': app = Program(sys.argv) sys.exit(app.Run(Form()))
Отредактировано Viktor1703 (Март 2, 2014 02:27:52)
Офлайн