Python Tkinter函数顺序问题
我的一个程序在两个文件中搜索一个特定的字符串(在本例中,是一辆车的号码牌)时遇到了一个问题。命令行界面上的基本程序运行良好,但是,我似乎无法使GUI版本正常工作。我怀疑这是因为GUI与标准函数的交互方式不同,但我不确定如何解决这个问题Python Tkinter函数顺序问题,python,tkinter,Python,Tkinter,我的一个程序在两个文件中搜索一个特定的字符串(在本例中,是一辆车的号码牌)时遇到了一个问题。命令行界面上的基本程序运行良好,但是,我似乎无法使GUI版本正常工作。我怀疑这是因为GUI与标准函数的交互方式不同,但我不确定如何解决这个问题 import csv, sys, tkinter.messagebox from tkinter import * mGui = Tk() def read(Numberplate): if len(Numberplate) != 7:
import csv, sys, tkinter.messagebox
from tkinter import *
mGui = Tk()
def read(Numberplate):
if len(Numberplate) != 7:
return False
with open("Test Data.csv","r") as data:
for row in data:
if Numberplate in row:
global details
details = (row)
return True
else:
return False
data.close()
def read2(Numberplate):
with open("Data.csv","r") as data2:
for row in data2:
if Numberplate in row:
global speed
speed = str("The vehicle\'s speed was " + row[8:] + "mph.")
return True
data2.close()
def callback():
Numberplate = grab.get()
if read(Numberplate) == False:
tkinter.messagebox.showinfo("Results","This numberplate has not been recorded.")
quit()
if read(Numberplate) == True and read2(Numberplate) == True:
tkinter.messagebox.showinfo("Results",(speed + details))
grab = StringVar()
mGui.configure(bg="blue")
mGui.title("Database Searcher")
mlabel = Label(text="Please enter the numberplate in the box below:",bg="purple").grid(row=0,column=3,columnspan=2)
mbutton = Button(mGui,text="Search",command=callback,bg="green").grid(row=5,column=3,columnspan=2)
mbox = Entry(mGui,textvariable=grab).grid(row=3,column=3,columnspan=3)
mGui.mainloop()
这个程序的想法是搜索两个文件,看看它们之间是否有一个共同的号码牌。如果是这样,他们的速度和驾驶员的详细信息将被提取并打印到消息框中。此时,所有条目似乎都返回相同的错误消息,即使条目是正确的
感谢您的阅读,我将感谢您提供的任何帮助。您能同时显示您的
csv
文件吗?您是否知道,如果Numberplate
的长度不同于7,您的read
函数将始终返回False
?请将您的文件添加到您的问题中,这使事情更容易阅读…是的,这是理想的功能。存储在csv文件中的数字板都是标准的,因此都遵循通常的LLNNLLL模式(L表示字母,N表示数字)。如果长度不是7,则numberplate将不在csv中,因此应返回False。此外,为什么在读取函数中需要此语句全局详细信息
?