一套PYQT-web混合开发的NATIVE框架
PYQT_VUE_NATIVE框架介绍数据交互方式: QWebChannel,web框架: vue-element-admin,QT框架 QWebEngineViewweb框架 通过QWebChannel封装的组件 调用QT程序, QT 通过信号返回给前端。通过此框架,前端与PYQT的交互会非常简单!,可以轻易的进行混合开发项目地址QT端pyqt_vue_native,下载后可直接运行main.p
·
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_())
更多推荐
已为社区贡献2条内容
所有评论(0)