|
|||||||
Использование компилятора ресурсов pyrcc4 в PyQt
Время создания: 20.09.2017 16:37
Текстовые метки: code
Раздел: Python - PyQt4 - pyrcc4
Запись: xintrea/mytetra_db_mcold/master/base/1505914645zrwahue8b7/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Использование компилятора ресурсов pyrcc4 в PyQt При использовании замечательной питоновской библиотеки PyQT для компиляции ресурсов (например файлов изображений) в код модуля применяется утилита, поставляемая вместе с библиотекой. Находится она в папке bin (а иногда в корне библиотеки) и называется pyrcc4. В нашем случае давайте скомпилируем в ресурс файл изображения Qt-logo.png. Для этого выполним несколько несложных действий. Создадим файл например res.qrc формата XML, описывающий ресурсы <!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>Qt-logo.png</file>
</qresource>
</RCC>
Затем, нашей утилитой pyrcc4.exe (для Windows) сгенерим питоновский скрипт, содержащий наше изображение, например так: pyrcc4 -o путь_до_файла\rc.py -py2 путь_до_файла\res.qrc
Осталось лишь экспортировать код в виде модуля и использовать в наших скриптах, например как показано ниже. from PyQt4 import QtCore, QtGui
import sys
import rc
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.setWindowTitle("Simple app with resource")
window.resize(150, 100)
image = QtGui.QPixmap(":/Qt-logo.png")
label = QtGui.QLabel()
label.setAlignment(QtCore.Qt.AlignCenter)
label.setPixmap(image)
button = QtGui.QPushButton("&Close")
vbox = QtGui.QVBoxLayout()
vbox.addWidget(label)
vbox.addWidget(button)
window.setLayout(vbox)
QtCore.QObject.connect(
button,
QtCore.SIGNAL("clicked()"),
QtGui.qApp,
QtCore.SLOT("quit()")
)
window.show()
sys.exit(app.exec_())
Следует отметить, что размер файла ресурса значительно больше размера исходного изображения. Для уменьшения объема можно использовать компрессию. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|