Pycharm Kivy 串口读取

Posted

技术标签:

【中文标题】Pycharm Kivy 串口读取【英文标题】:Pycharm Kivy Serial Port Read 【发布时间】:2016-03-18 13:27:20 【问题描述】:

我将创建一个非常简单的 Kivy 应用程序来读取串行端口并将其显示在标签中,在 Python 控制台中我可以看到串行数据,但在 Pycharm 和 Kivy 中结果是错误的。

Result window image

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
import serial
class LoginScreen(GridLayout):

def __init__(self, **kwargs):

    ser = serial.Serial('COM3', 9600, timeout=0)
    ser.read()
    super(LoginScreen, self).__init__(**kwargs)
    self.cols = 2
    self.rows = 2
    self.add_widget(Label(text=str(ser)))
class MyApp(App):

  def build(self):
    return LoginScreen()
if __name__ == '__main__':
  MyApp().run()

【问题讨论】:

【参考方案1】:

您将串行对象传递给str。这就是它显示的原因 - 串行对象的字符串表示。

self.add_widget(Label(text=str(ser)))

你应该先从连载中阅读:

data = ser.read()

现在您可以处理这些数据或将其转换为字符串并在 Kivy 上显示。

self.add_widget(Label(text=str(data)))

【讨论】:

以上是关于Pycharm Kivy 串口读取的主要内容,如果未能解决你的问题,请参考以下文章

Pycharm、virtualenv 和 kivy 设置

在 pyCharm 上安装 Kivy 时遇到问题

带有pycharm导入错误的kivy

Pycharm 为 Kivy 环境挂了构建骨架

在 Pycharm (Mac) 中设置 Kivy

PyCharm 2017.1,没有名为“kivy”的模块