2017-09-16 50 views
0

我已经构建的应用程序定义的,源开始这样的:NameError:名称“TK”没有在对象类

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

在这种情况下我应该如何正确定义它?

+0

你需要导入Tk吗? – AK47

+0

你确实意识到这与你的[上一个问题](https://stackoverflow.com/questions/46252200/nameerror-name-frame-is-not-defined-python)的问题完全相同,只是使用了不同的名称忘了导入? –

回答

1

你会错过的import语句:from tkinter import Tk

,以避免冲突的最好办法,就是要导入整个模块,最终与一个别名,使之短(但不要忘记加上tk.无处不在,你已经叫做tkinter部件):

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

它给出错误的一个新的错字: 回溯(最近通话最后一个): 文件 “/家/阿图尔/文档/ MScProject /硕士项目/任务#179276/main_program.py”,线路170,在 the_window = Tk(className =“Cryptographic”) TypeError:'module'对象不可调用 打字有什么问题? –

+0

注意到'import tkinter as tk'中使用的小写字母,然后你需要'tk.Tk(className =“Cryptographic”)''。 'Tk'是主类,'tk'是模块,对不起混淆别名,这是很常见的 – PRMoureu

+0

好吧,我已经改变了开始导入tkinter作为Tk和最后一块到: #create对象TK类 the_window = tk.Tk(的className = “密码”) #创建对象的应用程序 =应用程序(the_window) #run我们的应用 app.mainloop() 我仍然得到同样的错误:( –

相关问题