我有一个输入和一个按钮。我希望在按下按钮时输入(Entry)的值。当我键入print(mtext)
时,效果很好,但是当我将其放入Label中时,它却无法工作。
代码如下:
from tkinter import *
root = Tk()
root.title("Mohamed Atef")
root.geometry("900x600")
var = StringVar()
var.set("Please write something")
label = Label(root, textvariable=var, padx=10, pady=10)
#input
text = StringVar()
entry = Entry(root, textvariable=text)
def mohamed():
mtext = text.get()
mohamed = Label(root, textvariable=mtext)
mohamed.pack()
#button
buttonText = StringVar()
buttonText.set("Click me !")
button = Button(root, textvariable=buttonText, command=mohamed)
label.pack()
entry.pack()
button.pack()
root.mainloop()
答案 0 :(得分:0)
如果您只想将Entry
中的文本显示在标签下,则可以执行以下操作:
def mohamed():
mohamed = Label(root, textvariable=text)
mohamed.pack()
您的代码无法正常工作,因为作为textvariable传递的值应该是tkinter StringVar()
而不是string
。
如果您不希望在更改Entry
时不断更新文本,则应该执行以下操作:
def mohamed():
mtext = text.get()
mohamed = Label(root, text=mtext)
mohamed.pack()
答案 1 :(得分:0)
与Flilp一样,您的成品看起来像这样
from tkinter import *
root = Tk()
root.title("Mohamed Atef")
root.geometry("900x600")
var = StringVar()
var.set("Please write something")
label = Label(root, textvariable=var, padx=10, pady=10)
#input
text = StringVar()
entry = Entry(root, textvariable=text)
def mohamed() :
mtext = text.get()
mohamed = Label(root, text=mtext)
mohamed.pack()
#button
buttonText = StringVar()
buttonText.set("Click me !")
button = Button(root, textvariable=buttonText, command=mohamed)
label.pack()
entry.pack()
button.pack()
root.mainloop()