NameError: name 'tk' is not defined in the object class
NameError: name 'tk' is not defined in the object class
我构建了一个应用,源码是这样开头的:
from tkinter import Text
from tkinter import Label
from AESEncDec import *
from MD5Hashing import *
from RSAEncDec import *
color = 'lightblue' #color our background
class Application(Frame):
def __init__(self, root=None):
Frame.__init__(self, root)
self.frame_width = 700
self.frame_height = 400
但是最后一段无法执行:
#create object TK class
the_window = Tk(className = " Cryptographic")
#create object Application
app = Application(the_window)
#run our Application
app.mainloop()
它给出了 NameError:
Traceback (most recent call last):
File "/home/artur/Documents/MScProject/MSc Project/Task #179276/main_program.py", line 169, in
the_window = Tk(className = " Cryptographic")
NameError: name 'Tk' is not defined
在这种情况下,我应该如何正确定义它?
您错过了导入语句:from tkinter import Tk
避免冲突的最佳方法是导入整个模块,最后使用别名使其更短(但不要忘记在调用 tkinter 小部件的任何地方添加 tk.
):
import tkinter as tk
from AESEncDec import *
from MD5Hashing import *
from RSAEncDec import *
color = 'lightblue' #color our background
class Application(tk.Frame):
def __init__(self, root=None):
tk.Frame.__init__(self, root)
self.frame_width = 700
self.frame_height = 400
#create object TK class
the_window = tk.Tk(className = " Cryptographic")
#create object Application
app = Application(the_window)
#run our Application
app.mainloop()
我构建了一个应用,源码是这样开头的:
from tkinter import Text
from tkinter import Label
from AESEncDec import *
from MD5Hashing import *
from RSAEncDec import *
color = 'lightblue' #color our background
class Application(Frame):
def __init__(self, root=None):
Frame.__init__(self, root)
self.frame_width = 700
self.frame_height = 400
但是最后一段无法执行:
#create object TK class
the_window = Tk(className = " Cryptographic")
#create object Application
app = Application(the_window)
#run our Application
app.mainloop()
它给出了 NameError:
Traceback (most recent call last): File "/home/artur/Documents/MScProject/MSc Project/Task #179276/main_program.py", line 169, in the_window = Tk(className = " Cryptographic") NameError: name 'Tk' is not defined
在这种情况下,我应该如何正确定义它?
您错过了导入语句:from tkinter import Tk
避免冲突的最佳方法是导入整个模块,最后使用别名使其更短(但不要忘记在调用 tkinter 小部件的任何地方添加 tk.
):
import tkinter as tk
from AESEncDec import *
from MD5Hashing import *
from RSAEncDec import *
color = 'lightblue' #color our background
class Application(tk.Frame):
def __init__(self, root=None):
tk.Frame.__init__(self, root)
self.frame_width = 700
self.frame_height = 400
#create object TK class
the_window = tk.Tk(className = " Cryptographic")
#create object Application
app = Application(the_window)
#run our Application
app.mainloop()