所以我有点被这个问题困扰了,我真的不确定从这儿去哪里。我正在尝试创建一个tkinter gui来控制视差RFID读/写模块。到目前为止,我已经设法对tkinter窗口进行了编码,并创建了一个按钮,当按下该按钮时,它将开始读取rfid标签。我的问题是我不知道如何创建将更新的标签,以便标签的内存内容显示在tkinter窗口中,而不仅仅是控制台。
这是python 2.7代码。
这是我用来将标签内容打印到控制台的代码。
print ("Read App Starting...")
print ("Reading tag's User Data...")
for ix in range(3, 31):
while True:
ser.write('!RW' + chr(CMD_READ) + chr(ix)) # send command
buf = ser.read(5) # get bytes (will block until received)
if buf[0] == chr(ERR_OK): # if valid data received with no error, continue
break
print ("%2d") % ix, ": ",
for iy in range(1,len(buf)): # display data
sys.stdout.write("%02X" % ord(buf[iy]))
print("")
我已将其保存到文件中并将其导入到我的tkinter代码中。
Tkinter应用
from tkinter import *
import read_tag
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
#Creation of init_window
def init_window(self):
# changing the title of our master widget
self.master.title("GUI")
# allowing the widget to take the full space of the root window
self.pack(fill=BOTH, expand=1)
# creating a button instance
readbutton = Button(self, text="Read Tag", command=read_tag.main)
# placing the button on my window
readbutton.place(x=0, y=0)
outputlabel = Label(self, text="Tag Data :")
outputlabel.place(x=60, y=0)
output = Label(self, command=?)
output.place(x=70, y=0)
root = Tk()
#size of the window
root.geometry("400x300")
app = Window(root)
root.mainloop()
答案 0 :(得分:0)
使用
output.config(text='UPDATED TEXT')
答案 1 :(得分:0)
您可以在 tkinter 中尝试使用列表框既简单又清晰,看这个例子:
from tkinter import *
app = Tk()
app.geometry("200x250")
lbl = Label(app,text = "A list of favourite countries...")
lbl.pack()
listbox = Listbox(app)
listbox.pack()
listbox.insert(1,"text 1")
listbox.insert(2, "text 2")
listbox.insert(3, "text 3")
listbox.insert(4, "text 4")
app.mainloop()