尝试使用按钮在Python2.7 tkinter中中断while循环serial readline()函数。从aruduino Mega读取数据
我正在尝试中断一个while循环,该循环在程序中打印serial readline()函数。 我有一个退出按钮设置,但这冻结了程序,当我按下它。我正在寻找一种方法,使这个退出按钮功能正常,当我按下它。 任何帮助都将不胜感激尝试使用按钮在Python2.7 tkinter中中断while循环serial readline()函数。从aruduino Mega读取数据,python,python-2.7,tkinter,arduino,serial-port,Python,Python 2.7,Tkinter,Arduino,Serial Port,我正在尝试中断一个while循环,该循环在程序中打印serial readline()函数。 我有一个退出按钮设置,但这冻结了程序,当我按下它。我正在寻找一种方法,使这个退出按钮功能正常,当我按下它。 任何帮助都将不胜感激 import serial from Tkinter import * ser = serial.Serial('COM4', 9600) # Setting up serial connection class Application(Frame): def f
import serial
from Tkinter import *
ser = serial.Serial('COM4', 9600) # Setting up serial connection
class Application(Frame):
def feed_data(self): # Serial print function
while True:
print ser.readline()
def createWidgets(self):
self.QUIT = Button(self) #Quit button
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.DATA_READ = Button(self) # Serial Read Button
self.DATA_READ ["text"] = "Data Read",
self.DATA_READ["command"] = self.feed_data
self.DATA_READ.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
您需要通过以下方式修改
createWidgets()
方法:
def createWidgets(self):
self.QUIT = Button(self, text='QUIT', bg='red', command=quit)
self.QUIT.pack(side=LEFT)
self.DATA_READ = Button(self, text='Data Read', command=self.feed_data)
self.DATA_READ.pack(side=LEFT)
注意根据,您需要以以下方式重命名变量:
def createWidgets(self):
self.QUIT = Button(self, text='QUIT', bg='red', command=quit)
self.QUIT.pack(side=LEFT)
self.DATA_READ = Button(self, text='Data Read', command=self.feed_data)
self.DATA_READ.pack(side=LEFT)
- self.DATA\u读取→ self.read_数据
- 自我退出→ 自我退出
self.quit
重命名为类似于self.quit\u程序