如何摆脱TkInter中的标签?

时间:2014-03-18 16:23:39

标签: python tkinter label

我已经找到了这样做的方法,但其中大多数都是针对那些对我没有帮助的情况。

这是我的代码 -

import os
import time
import tkinter
from tkinter import *

root = Tk()
root.title('Interpreter')
Label(text='What is your name?').pack(side=TOP,padx=10,pady=10)

entry = Entry(root, width=30)
entry.pack(side=TOP,padx=10,pady=10)

def onOkay():
    print = str(entry.get())
    myName = Label(text='Your name is '+print+'.').pack(side=BOTTOM,padx=15,pady=10)
    myName


def onClose():
    #Nothing here yet

Button(root, text='OK', command=onOkay).pack(side=LEFT,padx=5,pady=5)
Button(root, text='CLOSE', command=onClose).pack(side= RIGHT,padx=5,pady=5)

root.mainloop()

1 个答案:

答案 0 :(得分:2)

您可以在窗口小部件上使用pack_forget()方法隐藏它。

但是,您应该在onOkay()函数中更改一些内容:

def onOkay():
    global myName #make myName a global so it's accessible in other functions
    name = entry.get() #print shouldn't be a variable name. Also, .get() returns a string, so str() is redundant
    myName = Label(root, text='Your name is '+name+'.')
    myName.pack(side=BOTTOM,padx=15,pady=10) #put this on a new line so myName is a valid variable

onClose:

def onClose():
    myName.pack_forget()

编辑:目前还不清楚这是否是您希望程序执行的操作(即,在按下“关闭”按钮时忘记myName标签),但希望您可以从此处进行操作。