【问题标题】:How can the response of a Button go to an Entry in Tkinter按钮的响应如何转到 Tkinter 中的条目
【发布时间】:2016-09-03 10:44:24
【问题描述】:

我正在尝试生成每个按钮单击条目的输出,每次按下生成按钮时,输出都会显示在控制台中,但我希望它显示在 GUI 中,所以我尝试添加命令 @ 987654322@ 到条目,它给了我一个错误,似乎条目不接受参数命令,但我不太确定这是否只是语法错误,是否有另一种显示按钮点击输出的方式上桂?我之所以想让它成为一个 Entry 是因为它提供了一个完美的矩形形状,盒子里面是白色的,非常适合生成东西。

from Tkinter import * 

def gen():
    print ("testetstesttesttest")

window = Tk()
window.geometry("500x300")
window.title("TestGUI")
botton = Button(window, text="Generate ids",command=gen).place(x=210,y=160)
textbox = Entry(window, command=gen).place(x=210,y=100)
window.mainloop()

我收到的错误:

(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-command"

【问题讨论】:

  • 你可能想看看this question,因为(textbox is None)-> True

标签: python tkinter


【解决方案1】:

您想直接设置条目的文本。如this answer 所示,StringVar 是解决此问题的一种方法。

entryText = StringVar(window)

然后,在你的命令中:

def gen():
    entryText.set("testtesttesttest")

把它们放在一起:

from Tkinter import * 

def gen():
    entryText.set("testtesttesttest")

window = Tk()
window.geometry("500x300")
window.title("TestGUI")
entryText = StringVar(window)
botton = Button(window, text="Generate ids",command=gen).place(x=210,y=160)
textbox = Entry(window, textvariable = entryText).place(x=210,y=100)
window.mainloop()

【讨论】:

  • 这不会产生错误但它不起作用,每次我点击按钮都没有任何反应,我在发布我的问题之前看到了这个问题。
  • @Francesc 我现在就尝试过——第一次单击按钮时,条目中会填充文本。但是,每次点击之后,它只会用相同的文本填充它,所以没有任何变化。
  • @Francesc,你有没有超过一个 Tk 实例?您需要将entryTextStringVar(window) 制作为同一应用程序的一部分
  • 我不会说StringVar最佳 方式,只是a 方式。您不需要StringVar,因为您可以将文本直接插入到小部件中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多