首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tkinter + RFID,只在读取RFID标签时显示图像

Tkinter + RFID,只在读取RFID标签时显示图像
EN

Stack Overflow用户
提问于 2017-08-29 17:24:02
回答 1查看 598关注 0票数 0

我必须编写一个程序,当RFID标签位于RFID读取器上时显示图像,并在RFID标签从RFID读取器中移除时删除图像。

下面的代码可以在读取tag或tag 2时显示图像,但继续显示它们。

代码语言:javascript
复制
from Tkinter import *
import serial
import time

one = '0419AC8E70'
two = '0419ACB481'

ser = serial.Serial('/dev/ttyUSB0', 2400)

reader = ser.read(11)


root = Tk()
frame = Frame(root)
frame.pack()


photo = PhotoImage(file="/home/daniel/Desktop/BY/test3.gif")
photo2 = PhotoImage(file="/home/daniel/Desktop/BY/test2.gif")
firstimage = Label(frame, image=photo)
secondimage = Label(frame, image=photo2)

def set_image():
    if one in reader:    
        print("1")
        ser.flush()
        time.sleep(1)       
        firstimage.pack( fill = BOTH)   
    else:
        firstimage.pack_forget()
    if two in reader:    
        print("1")
        secondimage.pack( fill = BOTH)  
        ser.flush()
        time.sleep(1)   
    else:
        secondimage.pack_forget()

    firstimage.after(200,set_image) #to run set_image function at regular intervals


set_image()
root.mainloop()

让我困扰的是Tkinter gui中的root.mainloop()函数。如何使程序在读取相应标签时只显示图像,而在读取非标签时不显示任何内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 18:39:18

让我们从这个开始。

代码语言:javascript
复制
from Tkinter import *
import serial
import time

one = '0419AC8E70'
two = '0419ACB481'

ser = serial.Serial('/dev/ttyUSB0', 2400)

reader = ser.read(11)


root = Tk()
frame = Frame(root)
frame.pack()


#photo = PhotoImage(file="/home/daniel/Desktop/BY/test3.gif")
#photo2 = PhotoImage(file="/home/daniel/Desktop/BY/test2.gif")
firstimage = Label(frame)
firstimage.pack()
secondimage = Label(frame)
secondimage.pack()

def set_image():
    ser = serial.Serial('/dev/ttyUSB0', 2400)
    reader = ser.read(11)
    if one in reader:    
        firstimage.config(text="One in reader")  
    elif two in reader:    
        secondimage.config(text="Two in reader")  
    else:
        firstimage.config(text="One not in reader")
        secondimage.config(text="Two not in reader")

    firstimage.after(2000,set_image)
    secondimage.after(2000,set_image)

set_image()
root.mainloop()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45935323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档