olan adı 'üst' tanımlanmadı:NameError:, kod
from tkinter import *
class LoginFrame(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
# initialize the login screen UI
def initUI(self):
self.parent.title("Login Screen")
# create a menu bar
menubar = Menu(top)
# create a help menu
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="About", command=about)
menubar.add_cascade(label="Help", menu=helpmenu)
# display the menu
self.parent.config(menu=menubar)
#----------------------------------------------------------------------
def about():
"""about info"""
print("This is a Tkinter demo")
# create a button
#----------------------------------------------------------------------
def make_button(parent, command, caption=NONE, side=top, width=0, **options): # name error 'top' is not defined
"""make a button"""
btn = Button(parent, text=caption, command=command)
if side != top:
btn.pack(side=side)
else:
btn.pack()
return btn
def main():
top = Tk()
# Set up login frame properties
top.title("Login Screen")
# create a login button
login_btn = make_button(top, about, "Login")
top.mainloop()
if __name__ == '__main__':
main()
Ben, kod çalıştırmasına çalıştı piton bana şu hatayı verdi:
builtins.NameError: name 'top' is not defined
Ancak, top üstte tanımlanmış ve ben – daiyue
@ daiyue tkinter ithal ettik: Bu? Bir Python 3.5 terminalinde, sadece >>>>> tinkter.top 'import tkinter 'yaptım ve bir' AttributeError' verdi. – ShadowRanger
Bunun dağıtımımın içinde olduğunu sanmıyorum - “tkinter import top” dan çevirmene yazmayı deneyin ve bunun başarısız olacağını düşünüyorum. Ana fonksiyonunuzda en üst noktayı tanımlamaktasınız, fakat buradaki yerel kapsamdadır - yani sadece fonksiyon ile kullanılabilir. – srowland