2017-09-16 93 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() 我仍然得到同樣的錯誤:( –

相關問題