PyQt5开发框架

PyQt5-comet的Python项目详细描述


PyQt5 开发框架

简介:

采用pyqtSlot+QMutex+QThread+pyqtSignal研发的多线程使用框架。 https://pypi.org/project/PyQt5-comet/

安装方法:

pip install -i https://test.pypi.org/simple/ PyQt5-comet --prefix="我的项目路径"
复制Lib\site-packages\PyLib和Lib\site-packages\main.py到项目根目录,即可开始使用。

需要支持模块:

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

安装教程:

首先执行安装PyQt5模块。

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

然后执行:

pip install -i https://test.pypi.org/simple/ PyQt5-comet --prefix="我的项目路径"
or
pip install PyQt5-comet --prefix="我的项目路径"

最后将Lib\site-packages\PyLib和Lib\site-packages\main.py复制到项目根目录。

使用教程

目录结构为:

-PyLib
    Controller.py
    MainUi.py
    Module-Test.py
    ProgramManagement.py
    MainUi.ui
main.py

模块介绍:

main.py 启动GUI Controller.py 控制器 MainUi.py GUI界面 Module-Test.py 测试模块 ProgramManagement.py 多线程和模块加载器

开发教程

开发好需要完成的逻辑,固定class RunModule 方法update 返回值为字符串,保存为Module-Test.py文件。

import_threadimportosclassRunModule:def__init__(self,tmp_dict):self.log=tmp_dict.get("log")passdef_log(self,threadName):print(os.getpid())print(self.log)print(threadName)defrun(self):_thread.start_new_thread(self._log,("Thread-1",))defupdate(self):self.run()returnself.logpass

在控制器中加载,name="Module-Test" 是需要加载的模块名称,log=str("TEST LOG PRINT") 是传递的参数。 connect(self._lookTestsLog)是回调函数。 注:函数调用规范 on_组件名称_组件动作() 定义后就可以通过装饰器调用任意组件和动作。

@pyqtSlot()defon_pushButton_clicked(self):self.q.lock()self.runCmd_=runCmd(name="Module-Test",log=str("TEST LOG PRINT"))self.runCmd_.cmdsign.connect(self._lookTestsLog)self.runCmd_.start()self.runCmd_.wait()self.q.unlock()def_lookTestsLog(self,log):self.label.setText(log)

最后运行main.py即可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将JButton合并到图形中?   java在每个循环中使用基类类型或派生类类型   JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中   java Android获取getDefaultSensor括号时出错   java Spring引导和安全性与AngularJS登录页面   java注销appengine应用程序而不从google注销。通用域名格式   java仅在发生错误或异常时创建日志文件,而不使用log4j   java get json数组和Retrift 2   swing中的java响应映像   为什么java的inputstream。close()块?   java驱动管理器。getConnection()非常冗长   java如何使用joml将标准化向量旋转到一个点   ubuntu将Java程序的输出结果保存到一个文件中   java动态可拖动、可编辑和自动调整大小的文本字段