0

我打算收集将在程序中使用的列表中的名称,一次一个。该函数确实返回一个列表,整个程序运行一次,但是在我使用按钮调用函数 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()

测试时:

任何帮助将非常感激。提前谢谢你。

4

0 回答 0