PyQt中的第三方Python模块

PyQt中的第三方Python模块,python,pyqt,pyserial,Python,Pyqt,Pyserial,我正试图决定一种开发桌面应用程序的技术,该应用程序可以与串行端口接口。我已经研究了python,看起来基于控制台的应用并不困难,我还研究了PyQt,它将完成我项目的GUI部分 但是有可能在PyQt中包含PySerial这样的第三方模块吗?PyQt和PySerial一起玩得很好(事实上,我在我的一个应用程序中使用了它们)。PySerial网站上的示例大多是简单的控制台示例,但没有理由不能从任何PySerial对象获取数据并在PyQt中使用它们。例如,您可以将通过串行端口接收到的数据放入QByteA

我正试图决定一种开发桌面应用程序的技术,该应用程序可以与串行端口接口。我已经研究了python,看起来基于控制台的应用并不困难,我还研究了PyQt,它将完成我项目的GUI部分


但是有可能在PyQt中包含PySerial这样的第三方模块吗?

PyQt和PySerial一起玩得很好(事实上,我在我的一个应用程序中使用了它们)。PySerial网站上的示例大多是简单的控制台示例,但没有理由不能从任何PySerial对象获取数据并在PyQt中使用它们。例如,您可以将通过串行端口接收到的数据放入QByteArray或NumPy阵列或任何适合您的类似阵列

需要注意的是:如果使用Serial.readline(),它将一直阻塞,直到得到换行符(\n)。这可能对您的GUI有害。如果必须使用readline()而不是read(),我建议将pyserial相关活动放在单独的线程中。如何做到这一点取决于您,但我建议使用Qt的内置线程。然后,您可以在线程内对Qt类型等进行数据转换。更多信息


编辑:差点忘了。如果有人在乎,你也可以使用PyQt编写控制台应用程序。只需使用QCoreApplication而不是QApplication。不太清楚为什么会在python中这样做,但是,除非您真的喜欢Qt的数据类型。。。在本例中,您可以使用PyQt和pyserial编写一个纯控制台应用程序:D

我在这里没有看到连接。是什么让你认为你不能在同一个脚本中使用PySerial和PyQT?你试过了吗,但没有成功?也许我不理解PyQt背后的基本概念。我想它会以某种方式将我的python代码编译成一个可执行文件。也许我错了,它在应用程序中捆绑了一个python解释器。如果前者是真的,我打赌有很多第三方库不编译为机器代码。这是一个错误的假设吗?不,PyQt根本不是这样工作的。它是一个常规的Python库。