我打算收集将在程序中使用的列表中的名称,一次一个。该函数确实返回一个列表,整个程序运行一次,但是在我使用按钮调用函数 UserInput 之后:
ttk.Button(root, text='Add place', command= lambda:UserInput()).pack(ipadx=10, ipady=10)
它仍然挂着。即使我关闭窗口,程序也不会移动到下一行:
print('outside function', places)
了。
代码是:
import tkinter as tk
from tkinter import simpledialog
from tkinter import ttk
root = tk.Tk()
def UserInput():
places = []
while True:
place = simpledialog.askstring('Input', 'Enter name',
parent=root)
if place == None: # 'Cancel'
continue
if place == '':
break
else:
places.append(place)
print(places)
return(places)
places = (UserInput()) # list of cities to visit
print('outside function', places)
ttk.Button(root, text='Add place', command= lambda:UserInput()).pack(ipadx=10, ipady=10)
root.mainloop()
任何帮助将非常感激。提前谢谢你。