当按钮被点击时如何向输入框插入文本

2024-06-28 19:33:36 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我吗?在

from Tkinter import *
import easygui

def whenoneclick():
    #How do I insert "1" into the Entry Label (inputbox)?


def mainfunc():
    inputvalue = inputvar.get()
    outputvalue = eval(inputvalue)

easygui.msgbox("The answer is: " + str(outputvalue), title="Answer")



maingui = Tk()


inputvar = StringVar()

inputbox = Entry(maingui, textvariable=inputvar).place(x=10,y=10)
inputbut = Button(text="=",command=mainfunc).place(x=10,y=40)

button = Button(text="1",command=whenoneclick).pack()

请回答。在


Tags: textimportdefplacebuttoncommandentryeasygui
2条回答

如果根据代码使用StringVar,则设置该值

def whenoneclick():
    inputvar.set("1")  ## "1" not 1 because it is a StringVar

请注意,您在这里重新定义,但它是mainfunc函数的局部定义

^{pr2}$

此外,在您的程序中没有mainloop,并且“outputvalue”是函数本地的,因此您将在易趣.msgbox,或将行缩进,使其成为函数的一部分。在

首先,需要使inputbox引用entrybox本身,而不是place方法的返回值(即None)。这可以通过以下方式实现:

inputbox = Entry(maingui, textvariable=inputvar)
inputbox.place(x=10,y=10)

完成后,就可以使用entrybox的insert方法。我写了一个简单的脚本来演示:

^{pr2}$

如果要删除文本,可以使用delete方法:

inputbox.delete(0, END)

相关问题 更多 >