【发布时间】:2021-09-30 19:52:47
【问题描述】:
我正在尝试在图形窗口中输入文件名,然后读取该文件并使用文件菜单在图形窗口中显示该文件。当我按下 new 时,会打开另一个窗口以询问名称并将其显示在主窗口中,但我无法打开新窗口并执行其余操作。我有 TopLevel 可以打开一个新窗口,但我得到 NameError: name 'TopLevel' is not defined 并且无法从那里继续。我该怎么做才能让它发挥作用?
from tkinter import Tk, Frame, Menu
from tkinter.ttk import *
from tkinter import filedialog as fd
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Simple menu")
menubar = Menu(self.parent)
self.parent.config(menu=menubar)
fileMenu = Menu(menubar)
fileMenu.add_command(label="New", command=self.onNew)
menubar.add_cascade(label="File", menu=fileMenu)
def onNew(self):
print("do New")
top = TopLevel()
Label(self, text='Enter Your Name').grid(row=0)
e1 = Entry(self)
e1.grid(row=0, column=1)
def main():
root = Tk()
root.geometry("250x150+300+300")
app = Example(root)
root.mainloop()
if __name__ == '__main__':
main()
【问题讨论】:
标签: python-3.x tkinter