From 716563f3e0ae00fc4d3a6e17166a03085fa07055 Mon Sep 17 00:00:00 2001 From: Musab Erdem Date: Tue, 11 Jun 2024 13:26:20 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Umstellung=20auf=20grid=20anstatt=20place,?= =?UTF-8?q?=20die=20Frames=20menu=5Fframe=20und=20plot=5Fframe=20eingef?= =?UTF-8?q?=C3=BChrt,=20PID=20Anteile=20werden=20nicht=20mehr=20angezeigt,?= =?UTF-8?q?=20Diagrammgr=C3=B6=C3=9Fe=20passt=20sich=20automatisch=20je=20?= =?UTF-8?q?nach=20Display=20an.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 66 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/main.py b/main.py index feb8fd1..2bdb78d 100644 --- a/main.py +++ b/main.py @@ -17,63 +17,69 @@ class T2000ErdemGUI: def __init__(self, root): self.root = root self.root.title("T2000 Erdem") + + menu_frame = tk.Frame(self.root) + menu_frame.grid(row=0, column=0, rowspan=8, columnspan=2, sticky="NESW", padx=10, pady=10) + menu_frame.columnconfigure(0, weight=1) + menu_frame.rowconfigure(6, weight=1) + + plot_frame = tk.Frame(self.root) + plot_frame.grid(row=0, column=2, rowspan=8, sticky="NW") + + plot_frame.rowconfigure(0, weight=1) + plot_frame.columnconfigure(0, weight=1) + self.root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight())) self.root.attributes('-fullscreen', True) # Setzt das Fenster in den Vollbildmodus #self.root.overrideredirect(True) # Entfernt die Fensterdekorationen (wie Minimieren, Maximieren und Schließen) - # P- und I-Anteil Input Felder - tk.Label(self.root, text="P-Anteil:").place(x=10, y=10) - self.p_value = tk.DoubleVar() - tk.Entry(self.root, textvariable=self.p_value).place(x=100, y=10) - - tk.Label(self.root, text="I-Anteil:").place(x=10, y=50) - self.i_value = tk.DoubleVar() - tk.Entry(self.root, textvariable=self.i_value).place(x=100, y=50) - # Eingabefelder für Koordinaten der Drehmoment-Drehwinkel-Kennlinie - tk.Label(self.root, text="Koordinaten der Drehmoment-Drehwinkel-Kennlinie:").place(x=10, y=90) - self.coordinates_text = tk.Text(self.root, height=5, width=20) - self.coordinates_text.place(x=20, y=110) + tk.Label(menu_frame, text="Koordinaten der Drehmoment-Drehwinkel-Kennlinie:").grid(row=0, column=0, columnspan=2, pady=10, sticky="N") + self.coordinates_text = tk.Text(menu_frame, height=10, width=20) + self.coordinates_text.grid(row=1, column=0, columnspan=2, pady=10) self.coordinates_text.insert('end', '0,0\n5,15\n10,10\n90,10') # Eingabefeld für direkte Drehmomentvorgabe - tk.Label(self.root, text="Soll-Drehmoment in Nm:").place(x=10, y=220) + tk.Label(menu_frame, text="Soll-Drehmoment in Nm:").grid(row=2, column=0, pady=10, sticky="NW") self.set_torque_value = tk.DoubleVar() - self.torque_input = tk.Entry(self.root, textvariable=self.set_torque_value) - self.torque_input.place(x=200, y=220) + self.torque_input = tk.Entry(menu_frame, textvariable=self.set_torque_value) + self.torque_input.grid(row=2, column=1, sticky="NW", pady=10) # Anzeige für aktuellen Drehwinkel und Drehmoment - tk.Label(self.root, text="Aktueller Drehwinkel:").place(x=10, y=260) - self.current_angle = tk.Label(self.root, text="0" + " °") - self.current_angle.place(x=200, y=260) + tk.Label(menu_frame, text="Aktueller Drehwinkel:").grid(row=3, column=0, pady=10, sticky="NW") + self.current_angle = tk.Label(menu_frame, text="0" + " °") + self.current_angle.grid(row=3, column=1, sticky="NW", pady=10) - tk.Label(self.root, text="Aktuelles Drehmoment:").place(x=10, y=300) - self.current_torque = tk.Label(self.root, text="0" + " Nm") - self.current_torque.place(x=200, y=300) + tk.Label(menu_frame, text="Aktuelles Drehmoment:").grid(row=4, column=0, pady=10, sticky="NW") + self.current_torque = tk.Label(menu_frame, text="0" + " Nm") + self.current_torque.grid(row=4, column=1, sticky="NW", pady=10) # Button zum Schließen der Anwendung - self.close_button = tk.Button(self.root, text="Beenden", command=self.close_application) - self.close_button.place(x=300, y=560) + self.close_button = tk.Button(menu_frame, text="Beenden", command=self.close_application) + self.close_button.grid(row=7, column=1, pady=10, sticky="S") # Button zur Übernahme der Eingaben und Aktualisierung des Diagramms - self.plot_button = tk.Button(self.root, text="Eingaben übernehmen", command=self.on_plot_button_click) - self.plot_button.place(x=10, y=560) + self.plot_button = tk.Button(menu_frame, text="Eingaben übernehmen", command=self.on_plot_button_click) + self.plot_button.grid(row=7, column=0, pady=10, sticky="S") # Schalter für Umschaltung zwischen Drehmomentprofil und direkter Vorgabe self.torque_mode = tk.BooleanVar() self.torque_mode.set(False) # Startet im Modus "Drehmomentprofil" - self.torque_switch = tk.Checkbutton(self.root, text="Direkte Drehmomentvorgabe aktivieren", variable=self.torque_mode, command=self.toggle_torque_mode) - self.torque_switch.place(x=10, y=340) + self.torque_switch = tk.Checkbutton(menu_frame, text="Direkte Drehmomentvorgabe aktivieren", variable=self.torque_mode, command=self.toggle_torque_mode) + self.torque_switch.grid(row=5, column=0, columnspan=2, pady=10) # Diagramm - self.figure = Figure(figsize=(6,6), dpi=100) + self.figure = Figure(dpi=100)#(figsize=(6,6), dpi=100) + self.figure.set_figheight(self.root.winfo_screenheight()/100) + self.figure.set_figwidth((self.root.winfo_screenwidth()-380)/100) self.plot = self.figure.add_subplot(111) self.plot.set_xlim(0, 90) self.plot.set_ylim(ymin=0) self.plot.set_xlabel('Drehwinkel in Grad') self.plot.set_ylabel('Drehmoment in Nm') - self.canvas = FigureCanvasTkAgg(self.figure, self.root) - self.canvas.get_tk_widget().place(x=424, y=0) + self.canvas = FigureCanvasTkAgg(self.figure, plot_frame) + #self.canvas.get_tk_widget().grid(row=0, column=0) + self.canvas.get_tk_widget().pack(fill="both", expand=True) self.toggle_torque_mode() self.create_diagram() -- 2.49.1 From d716fe0a6f7901bdb6f28eab7ff812160b404453 Mon Sep 17 00:00:00 2001 From: Musab Erdem Date: Tue, 11 Jun 2024 13:27:21 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=C3=9Cberfl=C3=BCssige=20Zeile=20entfernt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/main.py b/main.py index 2bdb78d..90a33f9 100644 --- a/main.py +++ b/main.py @@ -78,7 +78,6 @@ class T2000ErdemGUI: self.plot.set_xlabel('Drehwinkel in Grad') self.plot.set_ylabel('Drehmoment in Nm') self.canvas = FigureCanvasTkAgg(self.figure, plot_frame) - #self.canvas.get_tk_widget().grid(row=0, column=0) self.canvas.get_tk_widget().pack(fill="both", expand=True) self.toggle_torque_mode() -- 2.49.1