2017-09-16 1 views
0

ich eine Anwendung aufgebaut haben, startet die Quelle wie folgt aus:Nameerror: name ‚tk‘ nicht in der Objektklasse definiert ist

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 

Aber letzte Stück davon nicht ausführen kann:

#create object TK class 
the_window = Tk(className = " Cryptographic") 
#create object Application 
app = Application(the_window) 
#run our Application 
app.mainloop() 

Und es gibt den 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

Wie sollte ich es in diesem Fall richtig definieren?

+0

Müssen Sie Tk importieren? – AK47

+0

Sie erkennen, das ist genau das gleiche Problem wie bei Ihrer [vorherigen Frage] (https://stackoverflow.com/questions/46252200/nameerror-name-frame-is-not-defined-python) nur mit einem anderen Namen Sie vergessen zu importieren? –

Antwort

1

Sie verpassen Import-Anweisung: from tkinter import Tk

Der beste Weg, um Konflikte zu vermeiden, ist das gesamte Modul zu importieren, schließlich mit einem Alias ​​es kurz zu machen (aber nicht vergessen, tk. hinzuzufügen überall Sie haben ein tkinter Widget genannt):

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

Es gibt einen neuen Tippfehler von Fehlern: Traceback (jüngste Aufforderung zuletzt): Datei "/ home/artur/Dokumente/MScProject/MSc Projekt/Aufgabe # 179276/main_program.py", Linie 170, in the_window = Tk (className = "Cryptographic") TypeError: 'Modul' Objekt ist nicht aufrufbar Was ist falsch mit der Eingabe? –

+0

Beachten Sie, dass der Kleinbuchstabe in 'import tkinter as tk' verwendet wird und Sie dann' tk.Tk (className = "Cryptographic") 'brauchen. 'Tk' ist die Hauptklasse,' tk' ist das Modul, sorry für den verwirrenden Alias, es ist ziemlich häufig – PRMoureu

+0

Nun habe ich den Anfang geändert, um tkinter als Tk und das letzte Stück zu importieren: #create Objekt TK-Klasse the_window = tk.Tk (classname = "Cryptographic") #create Objekt Anwendung app = Applikation (the_window) #run unsere Anwendung app.mainloop() ich immer noch die gleichen Fehler :( –

Verwandte Themen