Python GUI 实现方向



我目前正在编写一个集成了Twisted Python的wxPython GUI,以便能够通过LAN将基本文本发送到RaspberryPi。 我正处于一个需要帮助的地步,当涉及到我应该实现我的网络的方式时,我想找出最适合这个项目的设计路径。

为了简要介绍该项目的更多背景,我的任务是创建一个连接到RaspberryPi的GUI,该GUI控制研究级CCD(基本上是天文学仅使用的相机)一种非常昂贵的设备。 我将在本地网络上发送由用户给出的命令到TwistedPython服务器,该服务器使用"解析器"将命令发送到CCD驱动程序。

关于弄清楚网络设计理念。 我正处于实现 GUI 主要组件的阶段,并且刚刚开始需要通过网络进行通信。 至于网络编码,我已经成功地在几个按钮中实现了通过网络发送文本所需的代码(例如,当我点击相机曝光按钮时,它会发送文件名和曝光时间)。 正是在这一点上,我需要决定是否应该使用线程。 我在使用 openMP、MPI 和 Pthreads 进行 C 编程方面有一些经验,但我无法弄清楚我应该使用哪种"类型"线程。

一些研究让我看到,在线程中内置了Python,然后使用TwistedPython进行线程处理。 在工作方式方面,我没有看到两者的巨大差异。 总的来说,我想我想要它,所以我可以简单地为 Twisted 打开一个单独的线程,然后发送一行文本,然后在完成后关闭它。 但是,我不确定应该以哪种线程方式实现这一点。 还有一种可能性是,如果我只通过区域网络发送少量数据,我甚至不需要实现线程。

我知道我的 GUI 中有一个部分需要线程,那就是通过时钟更新的进度条。 在此期间,GUI应该仍然可用,因为在天文学中,您可以持续十多分钟的曝光。

无论如何,你们中的一些人可以帮助我提出适合我需求的正确问题吗?

谢谢

看起来这是一个非常"古老"的问题,没有任何答案。我希望你现在已经想通了,如果没有,我有一个解决方案,你可能会感兴趣。我也做过类似的事情,除了我使用的是带有EthernetShield的Arduino。

我使用套接字通过LAN和python内置线程(线程)进行通信。线程)来执行需要完成的任何任务。

现在的问题是,你的GUI是否在你的扭曲框架中?如果是这样,那么你应该简单地依靠 Twisted 框架来使你的代码更易于维护。如果没有,由于您的 GUI 已经构建,您可以使用我上面提到的方法与服务器通信。如果我的理解是错误的,你应该和我一起弄清楚GUI、扭曲和服务器的架构/关系。

最新更新