我尝试创建一个程序,该程序将接收一个人的症状并返回他们所患的疾病。这是项目的 GUI 部分。
from tkinter import *
root = Tk()
root.title("Health GUI")
root.geometry("1000x625")
symptoms_list = []
def print_symptoms():
print(symptoms_list)
def typeSymptoms():
gap3 = Label(text="").pack()
symptoms_entry = Text(width=50, height=20)
symptoms_entry.pack()
symptoms_list.append(symptoms_entry.get(1.0, END))
done_symptoms = Button(text="I have written my symptoms", width=25, height=5, command=lol)
done_symptoms.pack()
gap1 = Label(text="").pack()
title = Label(text="HEALTH GUI", font=30).pack()
gap2 = Label(text="").pack()
start_button = Button(text="Click here to start", width=30, height=5, command=typeSymptoms, font=20).pack()
root.mainloop()
为了简单起见,我尝试将用户给出的症状打印到控制台,但它给了我一个带有“\n”的列表。请帮忙。谢谢!(PS:前天学过Tkinter,所以不太了解)
答案 0 :(得分:0)
目前,您的变量 symptoms_list
只保存新创建的 Text 小部件的内容,因为您在启动时附加了此内容。
如果要将症状添加到列表中,则需要在按下按钮时调用函数 lol()
。
这个函数应该类似于:
def lol():
symptoms_text = symptoms_entry.get(1.0, END)
symptoms_list = symptoms_text.split('\n')
print_symptoms()
但是,您的小部件和 symptoms_list
必须是全局变量才能使该程序正常工作。当您熟悉 Tkinter 时,学习如何将对话框创建为具有属性的类可能会更好。这使得在方法之间共享值变得更加容易。