首页 > 解决方案 > 如何在pyqt5中分离python生成的ui和我们的应用程序逻辑?

问题描述

这个想法是我想使用 pyQt 将 UI 和服务层分开。

我阅读并知道我可以使用从 .ui 生成的类,方法是对其进行子类化,因此我不会从这里更改布局。

但我不知道如何将我的服务放在 GUI 内部或外部。我只知道如何使用插槽和信号连接 UI 和方法/服务。

我的服务叫风扇,有电机开关速度传感器

Ui只有一个开始按钮、停止按钮、一个显示自检结果的标签和传感器的值。在开始之前,Fan let say 将通过运行和风扇并读取传感器来进行自检。所有风扇电机开关速度传感器都是QObjects

我在使用 pyQt5 开始应用它(服务层模式)时遇到了困难:

  1. 我在哪里实例化我的 Fan()?我假设我必须在 GUI 类中实例化。我可以实例化外部 GUI 类并将其与带有插槽的 GUI 类连接吗?

  2. 如果第一页包含一个进度条,每次 Fan 成功检查电机、传感器和开关时都会添加该值: 2.1 这是否意味着我需要将 fan.checking() 放入线程中进行所有这些检查?并使用信号和插槽将其所有结果更新到进度条?

  3. 同时,我应该如何在单独的线程中制作 Fan(),Fan() 不会做阻塞的事情,它只会打开、关闭电机。一旦电机(作为硬件)打开,它就会运行直到它被关闭。

欢迎任何建议和想法。

非常感谢...

标签: pyqt5pyuic

解决方案


推荐阅读