一套PYQT-web混合开发的NATIVE框架

PYQT_VUE_NATIVE框架

在这里插入图片描述

介绍

数据交互方式: QWebChannel,web框架: vue-element-admin,QT框架 QWebEngineView

web框架 通过QWebChannel封装的组件 调用QT程序, QT 通过信号返回给前端。

通过此框架,前端与PYQT的交互会非常简单!,可以轻易的进行混合开发
在这里插入图片描述

项目地址

QT端pyqt_vue_native,下载后可直接运行main.py,web页面已打包进去了
web端pyqt-vue

开发模式和流程

组件式的开发 结构如下
在这里插入图片描述
开发方式: 在view中编写业务代码,再在main中载入模块
main.py

#!/usr/local/bin/python3
# -*- coding: utf-8 -*-

"""
@File    : main.py
@Author  : Link
@Time    : 2021/4/17 9:49
"""

import sys

from PyQt5.QtWebChannel import QWebChannel
from PyQt5.QtWidgets import QApplication

from frame import Main  # 需要传入的参数 一个QObject和一个QWebChannel
from frame import MainInterFace  # QObject给QWebChannel发送信号

# -----------------------------------------------  # 需要自己编写的区域
# 从custom引入业务组件
from custom.view.table import A  # 测试
from custom.view.liv_view import TO_LIV_KEY

# 业务组件注册到MainInterFace
class MyMainInterFace(MainInterFace):

    def __init__(self):
        super(MyMainInterFace, self).__init__()
        TO_LIV_KEY(self)
        A(self)


myObj = MyMainInterFace()
channel = QWebChannel()
channel.registerObject("bridge", myObj)
# -----------------------------------------------

class Application(QApplication):
    def __init__(self, argv):
        QApplication.__init__(self, argv)
        QApplication.setStyle('Fusion')


if __name__ == '__main__':
    app = Application(sys.argv)
    myWin = Main(myObj, channel)  # QT Window 需要传入 MyMainInterFace(), QWebChannel()
    myWin.show()
    sys.exit(app.exec_())

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值