簡體   English   中英

TKinter通過循環運行

[英]TKinter running through a loop

對於一個基本示例,假設我要運行一個問題列表,並且對於每個問題,我都希望按下一個按鈕,該按鈕會將值“是”或“否”添加到列表中。

window = tk.Tk()
app=tk.Frame(window)
app.grid()

response_list = []

y_button = tk.Button(app,text="yes", command=lambda x="yes": appendResponse(x))

n_button = tk.Button(app,text="no", command=lambda x="no": appendResponse(x))

questions=["q1","q2","q3"]

window.mainloop()

如何使窗口保持打開狀態並顯示所有問題,直到有完整的答案列表?

您可以編寫如下函數:

#STARTS HERE
#Label with question
lbl1 = tk.Label(app, text="Are you a human?")
lbl1.grid()

def appendResponse(resp):
    global response_list

    questionNo = len(response_list)

    if questionNo % 3 == 0:
        lbl1.configure(text="Is this a valid question?")

    elif questionNo % 3 == 1:
        lbl1.configure(text="Is there a better way to do this?")

    elif questionNo % 3 == 2:
        lbl1.configure(text="Is this what you wanted to do?")

    response_list.append(resp)

#FINISHES HERE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM