簡體   English   中英

當我按下按鈕時,Python Tkinter沒有顯示標簽

[英]Python Tkinter doesn't show the label when I press the button

我有一個輸入和一個按鈕。 我希望在按下按鈕時輸入(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()

如果您只希望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()

與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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM