Python 当我按下按钮时 Tkinter 不显示标签
Python Tkinter doesn't show the label when I press the button
我有一个输入和一个按钮。当我按下按钮时,我想要输入 (Entry) 的值。当我输入 print(mtext)
时它运行良好,但是当我将它放入标签时它不起作用。
代码如下:
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()
如果您只想让 Entry
中的文本显示在您的标签下,您可以这样做:
def mohamed():
mohamed = Label(root, textvariable=text)
mohamed.pack()
您的代码无效,因为作为文本变量传递的值应该是 tkinter StringVar()
而不是 string
。
如果您不希望文本在您更改 Entry
时不断更新,您应该这样做:
def mohamed():
mtext = text.get()
mohamed = Label(root, text=mtext)
mohamed.pack()
和 Flipp 一样,你的成品看起来像这样
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()
我有一个输入和一个按钮。当我按下按钮时,我想要输入 (Entry) 的值。当我输入 print(mtext)
时它运行良好,但是当我将它放入标签时它不起作用。
代码如下:
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()
如果您只想让 Entry
中的文本显示在您的标签下,您可以这样做:
def mohamed():
mohamed = Label(root, textvariable=text)
mohamed.pack()
您的代码无效,因为作为文本变量传递的值应该是 tkinter StringVar()
而不是 string
。
如果您不希望文本在您更改 Entry
时不断更新,您应该这样做:
def mohamed():
mtext = text.get()
mohamed = Label(root, text=mtext)
mohamed.pack()
和 Flipp 一样,你的成品看起来像这样
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()