【发布时间】:2016-09-04 18:29:23
【问题描述】:
我的问题是关于使用 tkinter 在 python 中进行 GUI 编程。我相信这是 Python 3x。
我的问题:当我们执行程序来运行 GUI 时,按钮可以更新标签吗?更具体地说,有没有办法在按下按钮后更改标签显示的文本?我之前已经咨询过堆栈溢出并采用了 StringVar() 方法,但它似乎并没有解决我的问题,实际上它完全省略了 GUI 中的文本!
下面是代码
from tkinter import *
root = Tk()
root.title('Copy Text GUI Program')
copiedtext = StringVar()
copiedtext.set("Text is displayed here")
def copytext():
copiedtext.set(textentered.get())
# Write 'Enter Text Here'
entertextLabel = Label(root, text="Enter Text Here")
entertextLabel.grid(row=0, column=0)
# For the user to write text into the gui
textentered = Entry(root)
textentered.grid(row=0, column=1)
# The Copy Text Button
copytextButton = Button(root, text="Copy Text")
copytextButton.grid(row=1, columnspan=2)
# Display the copied text
displaytextLabel = Label(root, textvariable=copiedtext)
displaytextLabel.grid(row=2,columnspan=2)
copytextButton.configure(command=copytext())
root.mainloop()
任何帮助将不胜感激!
【问题讨论】:
-
作为对我的问题的修正,当我为 displaytextLabel 编写文本而不是 textvariable 时,它会输出一些 PY-4060(我认为这是内存,不确定)所以我知道这不是问题。