这是我第一次尝试GUI。现在我只想能够单击一个radiobutton并使其打印我分配给该按钮的值。但是,var.get()
没有给我任何东西。我用intvar
尝试了它(我的值是1和2,而不是“质子”和“电子”),var.get()
只给我0。对于StringVar
,它不提供任何内容(当radiobutton调用ChooseCharge
时,不打印任何内容)。我试着阅读了有关radiobuttons的资料,我根据我看到的radiobuttons的操作编写了代码,它成功地创建了radiobuttons,但关键是能够在单击时使用它们的值。
import tkinter as tk
def choosecharge():
print(var.get())
root = tk.Tk()
var = tk.StringVar()
proton = tk.Radiobutton(root, text = "proton", variable = var, value = "proton", command = choosecharge)
proton.pack( )
electron = tk.Radiobutton(root, text="electron", variable = var, value= "electron", command = choosecharge)
electron.pack( )
root.mainloop()
null
import tkinter as tk
root = tk.Tk()
# define an IntVar
var = tk.IntVar()
# create a dictionary of key:value pair as radiobutton_value: str_name_to_print
values = {1: "proton", 2: "electron"}
# instantiate a label widget
lbl = tk.Label(root)
def choosecharge():
# update the label widgets using the dictionary
lbl.config(text=values[var.get()])
proton = tk.Radiobutton(root, text="proton", variable=var, value=1, command=choosecharge)
proton.pack(anchor=tk.W)
electron = tk.Radiobutton(root, text="electron", variable=var, value=2, command=choosecharge)
electron.pack(anchor=tk.W)
# pack the label widget below the two radiobuttons
lbl.pack()
root.mainloop()
截图
为了更好地理解,我对代码中的行进行了注释。希望这个解决方案对你有所帮助。
我有一个简单的TKinter GUI,它有一个文本输入框和一个按钮。我想输入文本,点击按钮,让我的程序打印文本。GUI工作正常,除了单击文本输入框并键入时,在调整窗口大小或单击按钮之前,我看不到光标或文本。单击按钮时,文本将显示在输入框中并返回。当我输入文本时,GUI没有更新。我正在OSX10.10上运行Python 3.4。任何想法都欢迎。 下面是代码:
问题内容: 我已经阅读了一些有关我的问题的信息,但仍然没有得到正确的答案。我尝试了.on()方法仍然无法正常工作。我正在使用Laravel。 JS 加载页面后,我想要的所有东西都可以正常工作,但是当我使用replaceWith()方法更新元素,然后onclick无法正常工作时。 我检查了更新的html和属性,所有这些都在正确的位置。 问题答案: 您需要使用事件委托:- 因此更改::- 至::- 所
问题内容: 当我在“更新”面板中使用“按钮”时,它不会触发点击事件,但在更新面板之外,它可以工作。 这是代码 按钮的代码是 问题答案: 试试这个 集到和附加在
我试图用python模块tkinter创建一个带有输入框的窗口,来制作一个石头剪刀剪纸游戏。然而,每次按下按钮时,我都在努力使输入框更新到另一个值。 我正在纠结的是,如果我要编写作为输入(假设计算机响应始终为0): 那么我的输出将是这是正确的,但是,如果我的下一个输入是一些随机的东西,如,则所需的输出将是。然而,似乎第一个输入被保存并继续使用,因为输出仍然是。 另一方面,如果我们从输入开始,则输出
问题内容: 我是Swing的新手。 我要在单击按钮(完成按钮)后更新表格。我认为数据正确,但屏幕无法正常工作。 以下是我程序的说明 选中复选框,然后单击完成按钮 最底层应更改。 没有主 这是我的代码: 问题答案: 而不是这样做… 只需更新现有模型 或简单地 假设您要继续向表中添加新行。如果您要这样做,还可以先清除表,然后再向其中添加新行。 Swing的工作原理是MVC(模型-视图- 控制器 ),该
应用: 带有两个文本输入字段(input1、input2)的搜索栏 三个按钮:SearchX、SearchY、Clear Results 两个搜索都可以将input1和input2作为参数,以得到两个不同的结果。 有一个结果组件,它接受输入、操作,并根据操作呈现搜索组件。 问题: 我们希望只有在单击按钮时才启动搜索。使用下面的代码,在第一个搜索结果之后,只要您更改输入,结果组件就会预期地重新呈现,