Datenübergabe mit Listbox und grid

Fragen zu Tkinter.
Nobuddy
User
Beiträge: 994
Registriert: Montag 30. Januar 2012, 16:38

Hallo wuf, habe alles so von dir übernommen, auf Grundlage von https://gist.github.com/4033430

Starte ich das Modul gui_list_work.py (alter Namen gui_KundenNeu.py) direkt, funktioniert alles so, wie es soll.
Rufe ich aber das Modul über ein anderes Modul auf und übergebe von Dort die Daten, funktioniert es wieder nicht.

Ich poste jetzt mal alle beteiligten Module, damit Du es besser nachvollziehen kannst.

Haupfenster (gui_start.py) von dem aus alles gesteuert werden soll.
Darin habe ich 2 Aufrufe, die gui_list_work.py aufrufen.
Zeile 215 - 218
Zeile 282 - 286
Das betreffende Modul gui_list_work.py.
Modul für Referenzdaten gui_list_names.py für (listbox_items, default_labels, main_title, sub_title).
Alle 3 Dateien hier: https://gist.github.com/4038350

Grüße Nobuddy
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi Nobuddy

Leider nimmt deine Programm unter:
https://gist.github.com/4038350
schon eine Ausmass an, wo ich nicht mehr Zeit zum Durcharbeiten investieren möchte. Alleine die für mich neu hinzugekommene Datei gui_start.py importiert zusätzlich Ware aus Modulen wie:

Code: Alles auswählen

from gui_start_moduls import screen_blank, openfile, openfile_search
from gui_start_moduls import openfile_intern, openfile_save_intern
from filestart import fileopen
welche ich nicht habe.

Hier nochmals die gänderte Variante aus:
https://gist.github.com/4033430

Die Moduldatei (gui_KundenNeu_01.py):
http://www.python-forum.de/pastebin.php?mode=view&s=314
Die Startdatei (start_gui.py):
http://www.python-forum.de/pastebin.php?mode=view&s=315

Kopiere die Dateien:
gui_KundenNeu_01.py
start_gui.py

in ein eigenes Verzeichnis und starte die Datei start_gui.py

Dann muss das folgende funktionieren:
Ein Klick auf ein Element der Listbox transferiert es ins erste Eingabefeld (Kundenkreis). Ein aktivieren der Schaltfläche Übernehmen gib alle Eingabefelder aus. Wenn nicht dann musst du dich anderstwie schlau machen.

Gruß wuf :wink:
Take it easy Mates!
Nobuddy
User
Beiträge: 994
Registriert: Montag 30. Januar 2012, 16:38

Hallo wuf, ja so funktioniert es.

Daß das Ganze zu komplex und zeitaufwendig für Dich ist verstehe ich, hast ja bestimmt noch ein paar Kleinigkeiten sonst zu erledigen. :wink:

Generell mal die Frage.
Wenn ich von meiner gui_start.py aus die gui_KundenNeu.py aufrufe, bleibt ja das Fenster von gui_start.py weiter offen und ein weiteres Fenster wird geöffnet (gui_KundenNeu.py), daß da das Problem ist?

Grüße Nobuddy
yipyip
User
Beiträge: 418
Registriert: Samstag 12. Juli 2008, 01:18

Also so langsam wird das Ganze doch arg unuebersichtlich. Jetzt habe ich bei mir 3 Dateien, 2 davon beinghalten eine Controller- und eine main-Definition. Beim fehlenden gui_start_moduls bin ich dann ausgestiegen.
Also:
In der jetzigen Phase kannst du noch alles in eine Datei packen. Sich alles zusammensuchen zu muessen ist fuer uns nicht so motivierend (und, so glaube ich, wird auch dir einen besseren Ueberlick verschaffen).
Fuer spaeter:
Ich hatte ja schon mal gesagt: Mach ein Github Repository. Damit meinte ich nicht die Gist Snippets, sondern ein "richtiges" Projekt auf Github. Dann kann man auch mit vielen Dateien arbeiten. (Wenn dein Projekt denn OpenSource sein soll.)

Nix fuer ungut
:wink:
yipyip
Nobuddy
User
Beiträge: 994
Registriert: Montag 30. Januar 2012, 16:38

Nur keine Angst, möchte Euch da nicht überfordern, verstehe ja daß das zuviel ist.

Ich werde für meine gui_start.py für Euch ein Fenster mit nur einem Button kreiren, das dann die Funktion hat, das betreffende Modul gui_NeuKunden.py aufzurufen und die Daten an dieses Modul von gui_start.py aus zu übergeben.

Dann sollte das recht einfach sein, die Ausführungsweise von mir zu verstehen.

Das mit dem Github Repository, da kenne ich mich nicht aus, dachte das gist.github wäre dies.

Grüße Nobuddy :wink:
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi Nobuddy
Nobuddy hat geschrieben:Generell mal die Frage.
Wenn ich von meiner gui_start.py aus die gui_KundenNeu.py aufrufe, bleibt ja das Fenster von gui_start.py weiter offen und ein weiteres Fenster wird geöffnet (gui_KundenNeu.py), daß da das Problem ist?
Es ist natürlich nur ein Fenster offen. Dies ist das Hauptfenster, welches mit allen folgenden Widget gefüllt wird. Was sicher nicht gut ist, dass dieses Hauptfenster im Modul in der Klasse ListGui erzeugt wird. Das ist sicher nicht mein Programmierstiel und ich möchte dir meinen nicht aufzwingen. Ich wollte dir nur zeigen wie du mit deinem Dateien Setup deine gui_KundenNeu.py aus einer anderen Datei (gui_start.py) mit importieren zum laufen bringst.
Nobuddy hat geschrieben:Ich werde für meine gui_start.py für Euch ein Fenster mit nur einem Button kreiren, das dann die Funktion hat, das betreffende Modul gui_NeuKunden.py aufzurufen und die Daten an dieses Modul von gui_start.py aus zu übergeben.
Dieser Ansatz ist schon besser, Wie schon yipyip vorgeschlagen hat würde ich die ganze Sache in eine Datei packen. Wenn das Werk einmal das macht was du dir vorstellst kannst du diese eine Datei immer noch in hunderte andere aufteilen.

Gruß wuf :wink:
Take it easy Mates!
Nobuddy
User
Beiträge: 994
Registriert: Montag 30. Januar 2012, 16:38

Hallo wuf, hallo yipyip,

ich habe da noch jede Menge zu lernen, glaube da widerspricht Ihr mir nicht ... :wink:

Warum das Hauptfenster immer offen bleiben soll?
Meine Vorstellung ist in diesem zu arbeiten und wenn erforderlich weitere Fenster in die Arbeit mit einzubeziehen.
Nobuddy hat geschrieben:Ich werde für meine gui_start.py für Euch ein Fenster mit nur einem Button kreiren, das dann die Funktion hat, das betreffende Modul gui_NeuKunden.py aufzurufen und die Daten an dieses Modul von gui_start.py aus zu übergeben.
Dieser Ansatz ist schon besser, Wie schon yipyip vorgeschlagen hat würde ich die ganze Sache in eine Datei packen. Wenn das Werk einmal das macht was du dir vorstellst kannst du diese eine Datei immer noch in hunderte andere aufteilen.

Ich habe hier, wie versprochen das ONE_BUTTON_WINDOW kreirt, die zugehörigen Dateien sind ebenfalls dabei. :wink:
Sorry, wenn es momentan noch kein Github Repository ist.
https://gist.github.com/4040490

Ich denke, damit könnt Ihr das testen, was ich versucht habe mitzuteilen. :wink:

Grüße Nobuddy
Nobuddy
User
Beiträge: 994
Registriert: Montag 30. Januar 2012, 16:38

Hallo zusammen

Nach vielen Versuchen eine Lösung zu finden, anhand der geposteten Dateien (Link), habe ich den Verdacht, daß das Hauptfenster das neu geöffnete Fenster blockiert, so daß das Neue Fenster sich selbst nicht aktualisieren kann. :?

Da hier im Thread das eigentliche Ziel erreicht wurde, werde ich einen neuen Thread eröffnen, um das aktuell vorliegende Problem evtl. doch noch lösen zu können.

Danke für Eure Unterstützung :wink:

Grüße Nobuddy
Antworten