Python 在图形界面中返回值

Python 在图形界面中返回值,python,tkinter,Python,Tkinter,试图建立一个GUI,用户点击一个按钮,设置信息就会出现在相关的行和列中 打印并没有达到预期的效果,我也不太了解GUI,无法尝试其他东西。我是新手,所以我很迷路 normal={'Protein':{'32.50'}, ‘碳水化合物’:{60'}, '脂肪':{'40.86'} 从tkinter进口* 从tkinter导入ttk root=Tk() root.title(‘饮食信息’) frame=ttk.frame(根,填充=150 300') 网格(列=0,行=0,粘性=(N,W,E,S))

试图建立一个GUI,用户点击一个按钮,设置信息就会出现在相关的行和列中

打印并没有达到预期的效果,我也不太了解GUI,无法尝试其他东西。我是新手,所以我很迷路

normal={'Protein':{'32.50'},
‘碳水化合物’:{60'},
'脂肪':{'40.86'}
从tkinter进口*
从tkinter导入ttk
root=Tk()
root.title(‘饮食信息’)
frame=ttk.frame(根,填充=150 300')
网格(列=0,行=0,粘性=(N,W,E,S))
frame.columnconfigure(0,权重=1)
frame.rowconfigure(0,权重=1)
d_label=ttk.label(框架,文本='Selected diet:')
d_label.grid(列=1,行=3,粘性=W)
p_label=ttk.label(frame,text='Protein(g):')
p_label.grid(列=1,行=4,粘性=W)
c_label=ttk.label(框架,文本=‘碳水化合物(g):’)
c_label.grid(列=1,行=5,粘性=W)
f_label=ttk.label(frame,text='Fat(g):')
f_label.grid(列=1,行=6,粘性=W)
k_label=ttk.label(帧,文本='Kilojoules(kJ):')
k_label.grid(列=1,行=7,粘性=W)
s_label=ttk.label(框,text='选择要显示的饮食:')
s_label.grid(列=3,行=8,粘性=W)
n_button=ttk.按钮(框架,文本='Normal',命令=打印(Normal))
n_按钮网格(列=3,行=9,粘性=W)

我希望“正常”按钮返回每个标签所需的信息。然后,我将对多个按钮使用此方法。

在tkinter中,没有打印语句,而是有标签。就像要打印变量
print(fred)
一样,为变量设置标签。使用
ttk.Label(frame,text)
,而不是
ttk.Label(frame,textvariable=variable)
。 为了正确使用带有变量的标签,需要正确设置变量。假设我仍然要显示变量。首先,在将其放入标签之前,需要对其进行设置。您需要将其设置为接收要提供的数据类型。例如StringVar()、IntVar()、BooleanVar()和DoubleVar()。它们基本上只是声明数据将是字符串(StringVar)、整数(IntVar)、布尔值(BooleanVar)或浮点值(DoubleVar)。假设你有15克碳水化合物的数据。这是一个整数,因此可以使用IntVar()。所有设置的方法都是这样的

variable = IntVar()
variable.set(carbs)
ttk.Label(frame, textvariable=variable).pack()
在本例中,carbs是用户输入的浮点值,variable是您放入标签中的实际变量。希望这有帮助,快乐编码


快速编辑:按钮在为其指定函数时效果最佳,因此我建议将函数设置为使用普通值(如果这是您想要使用的数据),然后将其分配给放入标签中的变量。

您必须创建标签并设置其文本,而不是打印。请阅读