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()