Pycharm Kivy串口读取

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

结果窗口图像

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个回答

2
你正在将串行对象传递给str。这就是为什么它显示成那样 - 串行对象的字符串表示形式。
self.add_widget(Label(text=str(ser)))

首先,您应该从串行端口读取:

data = ser.read()

现在,您可以处理这些数据或将其转换为字符串并显示在Kivy上。
self.add_widget(Label(text=str(data)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接