这是我在stackoverflow的第一篇文章
我是一名飞行员,是软件界的新手,我自己也在尝试学习python
我正在尝试使用gui创建一个简单的搜索函数来搜索列表中的多个值
我已经为飞行员的姓名和级别创建了两个输入框
我还创建了一个名为Pilot的类,其中包含两个相邻的随机飞行员信息列表
我的目的是在填写姓名和等级框时搜索列表,以返回有关飞行员的所有相关信息,但我停了下来。我还尝试连接“name”和“rank”来搜索函数,但也失败了
它给出了以下错误:
ALWAYS THE RESULT IS "NOT FOUND"
我的代码:
from tkinter import *
root = Tk()
class Pilot():
def __init__(self, name, age, rank, fleet, callsign, fail):
self.name = name
self.age = age
self.rank = rank
self.fleet = fleet
self.callsign = callsign
self.fail = fail
def __repr__ (self):
return "({},{},{},{}, {}, {})".format(self.name, self.age,self.rank,self.fleet, self.callsign, self.fail)
p1= Pilot("tom kazansky","22","lt","f14", "iceman","0")
p2= Pilot("pete mitchell","23","lt","f14", "maverick","3")
pilots =[p1,p2]
label_1 = Label(root, text = "name")
label_2 = Label(root, text = "rank")
entry_1 = Entry(root)
entry_2 = Entry(root)
def p_name(pilots):
return pilots.name
def p_rank(pilots):
return pilots.rank
def search(*pilots, key1 = p_name, key2 = p_rank):
if entry_1 and entry_2 in pilots:
print("found!")
elif entry_1 and entry_2 not in pilots:
print("not found!")
button_1 =Button(root, text = "search", command = search)
label_1.grid(row =0)
label_2.grid(row =1)
entry_1.grid (row =0,column =1)
entry_2.grid (row =1,column =1)
button_1.grid(row =3)
root.mainloop()
什么阻止搜索返回记录?也许是关于*args或**kwargs的
你看起来很接近。我们可能需要知道你犯了什么样的错误,或者到底是什么不起作用,然后才能提供太多帮助
我可以告诉您,您实际上还没有从条目GUI对象中获取文本:
根据上面的代码
entry_1
是文本对象本身(页面上的框)。if
语句检查这些文本框对象是否都在引导对象列表中(我假设为false)如果您试图通过按搜索按钮获取这些文本框的内容,则需要使用
Entry.get()
如果我正确理解了您的意图,那么您应该从更新以下函数开始
您可以使用此链接了解有关Tkinter的更多信息:
请点击此链接了解更多具体信息
祝你好运
相关问题 更多 >
编程相关推荐