pyqt5+qml windows打包

qml文件放到qrc之后pyrcc编译为py

pyrcc x.qrc -o x_rc.py

python使用qrc(demo)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import os
import sys
import threading
import time
import io
from PyQt5.QtCore import QUrl, QLocale, QObject, pyqtSignal, pyqtSlot, pyqtProperty,Qt
from PyQt5.QtGui import QColor,QGuiApplication
from PyQt5.QtQml import QQmlApplicationEngine, qmlRegisterType
from PyQt5.QtQuick import QQuickPaintedItem
from PyQt5.QtWidgets import QApplication, QMessageBox
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtCore import qInstallMessageHandler, QtMsgType, qDebug
# 这里导入转换好的qrc
import x_rc.py

app = QGuiApplication(sys.argv)

locale = QLocale(QLocale.Chinese, QLocale.China)
QLocale.setDefault(locale)
engine = QQmlApplicationEngine()
engine.objectCreated.connect(
    lambda obj, _: (
        None, engine.quit) if not obj else 0)
engine.addImportPath('imports')
engine.load(':/qml/pages/Main.qml') ## 这里以:开头代表使用qrc内的资源,不要用Qurl包裹

qmlRootObject = engine.rootObjects()[0]

sys.exit(app.exec_())

设置界面图标

需要在qml代码中设置窗口显示后的图标

import QtQuick 2.12
import QtQuick.Controls 2.12

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("My Application")
    icon: "qrc:/xxx.ico"
}

打包+设置exe图标

qml应用程序打包同样是用Qt自带的命令行(windeployqt),编译器是什么就选对应的命令行。qml应用程序打包比QtWidgets的命令多一句话,就是要指明qml文件们在Qt安装位置的路径(qmldir)。

pyinstaller -F/D[打包成一个文件/目录] -w/c[不带/带命令行] -i xxx.ico xxx.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值