PyQt中的第三方Python模块

时间:2012-07-26 19:45:10

标签: python pyqt pyserial

我正在尝试决定开发可与串口连接的桌面应用程序的技术。我已经研究了python,它看起来像一个基于控制台的应用程序并不困难 - http://pyserial.sourceforge.net/,我也看了PyQt,它将完成我项目的GUI部分。

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

1 个答案:

答案 0 :(得分:1)

PyQt和pyserial很好地结合在一起(实际上,我在我的一个应用程序中使用它们。)pyserial网站上的示例大多是简单的类似控制台的示例,但是没有理由不能从任何一个中获取数据pyserial对象并在PyQt中使用它们。例如,您可以获取通过串行端口接收的数据,并将其推送到QByteArray或NumPy阵列或任何类似于您喜欢的类型。

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

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