我正在用python制作一个tkinter gui,但这并不合适,当我单击Activate时,它应该会打开一个新的框,提示用户输入用户名和Pass,但是有一些错误;我定义了下面的问题
以下是我使用的代码:
import Tkinter
import tkMessageBox
from ttk import *
from Tkinter import *
root = Tk()
top = Tk()
def helloCallBack():
top.title("Activation")
Label(top, text="Username").grid(row=0, sticky=W, padx=4)
Entry(top).grid(row=0, column=1, sticky=E, pady=4)
Label(top, text="Pass").grid(row=1, sticky=W, padx=4)
Entry(top).grid(row=1, column=1, sticky=E, pady=4)
Button(top, text="Submit").grid(row=2, column=1)
B = Tkinter.Button(text ="Activate", command = helloCallBack)
B.pack()
root.mainloop()
top.mainloop()
所以我得到的输出是;
当我点击激活:
这里有两个问题
1.当我运行程序时,根框后面有一个空白框,我该如何消除它?
2.单击“激活”时,第一个消息框(根)不会被删除
您的主要错误是代码中有两个主循环(您试图运行两个独立的程序)。使用
Toplevel()
小部件,而不是Tk()
的新实例,使用用户名/密码对和destroy
方法关闭它。在下面是一个例子:
另外,this网站非常推荐给你!在
还有一些链接:
Toplevel widget
Entry widget(以及如何从中获取字符串,我认为这是您的下一步)
相关问题 更多 >
编程相关推荐