使用Radiobutton = 0

时间:2017-07-05 10:09:00

标签: python variables tkinter sum radio-button

我正在尝试使用python做一个简单的程序,但它不起作用。在倒数第二个字符串中,我不知道如何从Radiobutton获取变量。

from tkinter import*
import tkinter.messagebox

finestra = Tk()
finestra.geometry("1000x800+100+0")
finestra.title("Consumo PC")
var = IntVar()
ivar = IntVar()
cpu = Label(text="Seleziona la generazione del tuo processore:").pack()
kaby = Radiobutton(finestra,text="Kabylake",value=1, variable=var).pack()
sky = Radiobutton(finestra,text="SkyLake",value=2, variable=var).pack()
ivy = Radiobutton(finestra,text="IvyBridge",value=3, variable=var).pack()

serie = Label(text="Seleziona il tuo processore:").pack()
i3 = Radiobutton(finestra,text="i3 xxxx",value=6, variable=ivar).pack()
i5 = Radiobutton(finestra,text="i5 xxxx",value=4, variable=ivar).pack()
i7 = Radiobutton(finestra,text="i7 xxxx",value=5, variable=ivar).pack()

brand = Label(text="Seleziona il brand della tua scheda video:").pack()
amd = Radiobutton(finestra,text="AMD", value=7,variable=3).pack()
nvidia = Radiobutton(finestra,text="Nvidia", value=8,variable=3).pack()

kaby = 1
sky = 1
ivy = 11/10
i3 = 51
i5 = 65
i7 = 75

tdp = Label(text=var.get()+ivar.get()).pack()


finestra.mainloop()

1 个答案:

答案 0 :(得分:1)

现在,您只需在创建用户界面时更改标签的文本,并且由于没有选择这些文本,您将获得0。该文本应在每python label_image.py exact_path_to_your_testimage_file.jpg 更新/ var更改。

可以通过为ivarvar添加trace来实现这一目标。

ivar

这样,在每个按钮选择上,您将获得所需的值。

现在剩下一件事,就是更新结果标签。有几种方法可以更新标签文本,但由于我们使用的是变量类,因此请使用def callback(*args): print(var.get()+ivar.get()) var.trace("w", callback) ivar.trace("w", callback) 进行操作。

StringVar

此外,您应该注意几件事情。

其中一个是通配符导入(def callback(*args): result.set(var.get()+ivar.get()) result = StringVar() tdp = Label(textvariable=result).pack() ^^^^^^^^ note that this not text but textvariable! 用法) 关于这一个,您可以阅读this问题的答案。

另一个是,在同一行使用from tkinter import *。这会将pack()分配给您的所有变量(Nonecpukaby等。) 关于这一个,您可以阅读this问题的答案。