object has no attribute 'tk' ??

Fragen zu Tkinter.
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

object has no attribute 'tk' ??

Beitragvon XT@ngel » Sonntag 1. Juni 2003, 10:01

Hallo zusammen ich hab ein kleines Problem mit Tk und ich hoffe das ich das richtig beschreiben kann *g*

Ich schreibe gerade an einem Programm das eine Plugin Funktion haben soll.

Das Eigentliche Programm besteh aus:
- einer Klasse mit gesammter GUI (GUI_modul.py)
- und dem Programme (Prog.py)

in Prog.py mach ich jetzt folgendes um ein Plugin zu laden:

Code: Alles auswählen

import GUI_modul

class Prog(GUI_modul.GUI):
   def __init__(self):
      GUI_modul.GUI.__init__(self)
 
  def Load_Plugin(self):
      """Lädt ein Plugin"""
      plugin_file = self.aktiv_plugin_var.get()
      dirs = ["plugins/",]
      modul_name = plugin_file[:-3]
      # ToDO Überprüfen ob schon geladen
      fp, pathname, description = imp.find_module(modul_name, dirs)
      try:
         modul = imp.load_module(plugin_file, fp, plugin_file, description)
   self.loadet_plugin = modul.Plugin(self) #Erzeuge Instanz von Plugin Klasse und übergebe ihr Instanz von Prog
      except:
   #Meldung             


Mein Plugin sieht so aus:

Code: Alles auswählen

class Plugin:
   def __init__(self, prog_obj):
      self.plugin_name = "Suche"
      self.prog_obj = prog_obj
      self.SETUP_PLUGIN_GUI()

   def SETUP_PLUGIN_GUI(self):
      self.frame_3 = Frame(self.prog_obj.plugin_frame,  height=20)
      self.frame_3.pack(side=TOP, expand=0, fill=X, anchor=N)
      self.GENREQL_Label = Label(self.frame_3, text="Genre :", anchor='w').pack(side=LEFT, expand=0, fill=X, anchor=W)
      genre = StringVar()
      self.prog_obj.found_genres.append("ALL")
      test = tuple(self.prog_obj.found_genres)
      self.genre_select = apply(OptionMenu, (self.frame_3, genre) + test)
      self.genre_select.pack(side=LEFT, expand=0, fill=X, anchor=W)


das eigentliche Problem ist diese Zeile

Code: Alles auswählen

 genre = StringVar()


Hier bekomme ich "AttributeError: 'NoneType' object has no attribute 'tk'"
Ist bestimmt nur ein kleiner Fehler den ich nicht sehe :(

MfG und Danke
Andreas
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: object has no attribute 'tk' ??

Beitragvon Voges » Sonntag 1. Juni 2003, 11:03

Hallo!
XT@ngel hat geschrieben:Hier bekomme ich "AttributeError: 'NoneType' object has no attribute 'tk'"
Der Aufruf von StringVar() und Co. darf (zur Laufzeit) erst erfolgen, nachdem root = Tk() aufgerufen wurde. Vielleicht liegts daran.

Jan
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Beitragvon XT@ngel » Sonntag 1. Juni 2003, 11:15

Danke Danke Danke :wink:
Du hast mir die Augen geöffnet. Die Zeile muss so sein:

genre = StringVar(self.prog_obj.main_window)

Da ich main_window schon in der init Methode meiner GUI erstelle.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder