【发布时间】:2013-06-05 11:24:05
【问题描述】:
我对 python 和 pyserial 还是很陌生。我的电脑安装了带有 pyserial 的 python 2.7.4,我想在我的电脑上的单独窗口上打印串行接收的数据。首先必须打开窗口,然后在该窗口上打印串行数据。这里窗口必须打开一次,串行数据必须连续打印在窗口上,直到设备停止传输数据。 我尝试使用此代码,但它毫无价值。 请有人帮我写代码。
import serial
import Tkinter
from Tkinter import *
s = serial.Serial('COM10',9600) # open serial port
master = Tk()
master.geometry("1360x750") # a window pop up with width (1360) and height(750) which exatly fits my monitor screen..
while 1:
if s.inWaiting():
text = s.readline(s.inWaiting())
frameLabel = Frame( master, padx=40, pady =40)
frameLabel.pack()
w = Text( frameLabel, wrap='word', font="TimesNewRoman 37")
w.insert(12.0,text )
w.pack()
w.configure( bg=master.cget('bg'), relief='flat', state='Normal' )
mainloop()
【问题讨论】:
-
您可能会查看此答案的第一部分 stackoverflow.com/a/14040516 。它展示了如何在 tkinter 循环中重复调用函数。这基本上是您想要做的,而不是
while True循环。 -
非常感谢您的快速答复。我将尝试使用 tkinter 循环中的函数。
标签: python-2.7 tkinter pyserial