Frage zum grundsätzlichen Arbeiten mit Menüleisten

Fragen zu Tkinter.
Antworten
Benutzeravatar
Kurtosis
User
Beiträge: 55
Registriert: Samstag 11. Dezember 2010, 14:32

Hallo,

sagen wir mal, ich möchte ein Programm schreiben, welches eine CSV-Datei mit x- und y-Koordinaten einliest und in einem definierten Bereich des Frames plottet. Nun möchte ich aber auch eine Menüleiste haben, in der man z.B. noch verschiedenen Einstellungen vornehmen kann, z.B. dass alle y-Werte mit einem zuvor festgelegten Faktor multipliziert werden.

Wie muss so etwas grundsätzlich strukturell aufgebaut sein, ohne sich jetzt in irgendwelchen Minimalbeispielen zu verlieren? Ich würde also zunächst eine Klasse, nennen wir sie mal "Application", schreiben, die von einer Funktion "main" aufgerufen wird, und in der grundsätzliche Dinge, z.B. die Geometrie, definiert und konstruiert werden, aber auch die Menüleiste.
Angenommen, es gäbe dort nun einen Punkt, der sich "Einstellungen" nennt und ein Klick darauf wäre mit dem Ausführen eines Befehls verbunden. Sollte dieser Befehl nun eine neue Klasse, z.B. "Settings", aufrufen oder eine Methode, z.B. "settings(self, ...)", innerhalb der Klasse "Application"?
Letztlich ist die Frage, wie ich die Variablen aus "Settings" bzw. "settings" der Klasse "Plotting" übergebe. Im Endeffekt muss das Ganze auch Event-basiert sein, d.h. vielleicht lade ich erstmal den Datensatz und plotte diesen. Per Default kann man als Faktor 1 einstellen. Nun möchte ich aber sehen, wie der Graph ausschaut, wenn ich diesen Faktor auf 2 stelle. Ich möchte aber, dass diese Einstellung über einen Klick in der Menüleiste erfolgt. Oder sollte an dieser Stelle die ganze Menüleiste erst mit der Klasse "Plotting" erzeugt werden?

Ich würde mich freuen, wenn man mir konstruktiv weiterhelfen mag.

Viele Grüße
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@Kurtosis,

Du kannst matplotlib in tkinter Fenster einbetten.
https://matplotlib.org/stable/gallery/u ... gskip.html

Oder geht es dir darum, so etwas zur Übung selbst zu erstellen?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Das ist alles sehr grundsätzlich gefragt. Je nachdem wie komplex das ist, packst Du eine Funktionalität in eine Methode oder schreibst eine eigene Klasse. Da man das am Anfang schlecht abschätzen kann, fängt man mit einer Methode an und refaktoriert zu einer Klasse, wenn es zu groß wird.
Antworten