对不起,我是新手编程,从书本中学习,我已经购买了。下面的函数作为一个独立的工作正常,但我还有十六个我想用Listbox包装。无论如何,这些都可以从列表框中调用,但是由于代码包含它自己的命令变量,所以可以独立于列表框运行吗?
def dvt():
def DVT(*args):
try:
"""This Function will determine distance in feet from a constant velocity and time"""
val1 = float(vel.get())
val2 = float(tme.get())
dist.set(val1 * val2)
except ValueError:
pass
##Start GUI
root = Tk()
root.title('Distance from Velocity and Time')
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight=1)
vel = StringVar()
tme = StringVar()
dist = StringVar()
vel_entry = ttk.Entry(mainframe, width=7, textvariable=vel)
vel_entry.grid(column=2, row=1, sticky=(E, W))
tme_entry = ttk.Entry(mainframe, width=7, textvariable=tme)
tme_entry.grid(column=2, row=2, sticky=(E, W))
ttk.Label(mainframe, textvariable=dist).grid(column=2, row=3, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=DVT).grid(column=3, row=2, sticky=W)
ttk.Label(mainframe, text="Velocity").grid(column=1, row=1, sticky=W)
ttk.Label(mainframe, text="Time").grid(column=1, row=2, sticky=W)
ttk.Label(mainframe, text="The distance is:").grid(column=1, row=3, sticky=E)
for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)
vel_entry.focus()
tme_entry.focus()
root.bind('<Return>', DVT)
root.mainloop()