Code: Alles auswählen
def create_movie_form(self):
self.movie_form = Movie_Window(self)
self.movie_form.setAttribute(Qt.WA_DeleteOnClose)
self.movie_form.show()
self.create_subwindow_list(self.movie_form)
def show_search_form(self):
self.search_form = Search_Window(self)
self.search_form.setAttribute(Qt.WA_DeleteOnClose)
self.search_form.show()
self.create_subwindow_list(self.search_form)
def create_window_list(self, windows):
Liste = list()
Liste.append(windows)
for Element in Liste :
print "Formen: ", str(Element)
print "Anzahl:", len(Liste)
Jedesmal, wenn ich ein Fenster öffne (MDI-Anwendung), soll das Unterfenster in die Liste eingetragen werden (create_window_list). Ich öffne nun zwei Unterfenster, einmal create_movie_form und create_search_form. Und damit ich es kontrollieren kann, ob Unterfenster zu der Liste hinzugefügt wurden, und wie viele sich gerade in der Liste befinden, soll er sie mir per Print-Anweisung die Informationen ausgeben. Das "komische" daran ist, dass er jedesmal sagt, es sei nur ein Fenster in der Liste, und zeigt das Fenster auch an. Was mache ich falsch? Rein theoretisch müssten aber die Anzahl bei 2 liegen und beide Objekte müssten in die Liste hinzugefügt und anschließend aufgelistet werden.Formen: <files.modules_ui.ui_pp_movie.Movie_Window object at 0x029DBED0>
Anzahl: 1
Denn bei meiner Mini-Probe funktioniert es wunderbar:
Code: Alles auswählen
def add_more_f1():
f1 = "form1"
add_to_list(f1)
def add_more_f2():
f2 = "form2"
add_to_list(f2)
def add_more_f3():
f3 = "form3"
add_to_list(f3)
def add_to_list(names):
langs = list()
langs.append(names)
for element in langs:
print "Formen: ", str(element)
add_more_f1()
add_more_f2()
add_more_f3()
Formen: form1
Formen: form2
Formen: form3
