tkinter layout anordung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

ich habe das mit der Klasse nicht hinbekommen, habe jedoch eine andere Möglichkeit gefunden, indem ich einfach nach der Zeilennummer abfrage, und dann entsprechend die txt Files schreibe.

Ich musste noch ein weiteres Label hinzufügen, wo ein Wert berechnet wird. Den Initial Wert kann ich problemlos in der GUI ausgeben, jedoch fehlt mir die Fantasie wie ich sie nach der Änderung von Parameter row 1 oder 2 wieder ändere. Der Befehl set ist mir zwar bekannt, aber aufgrund der Klasse und def increase/decrease kann ich ja nur immer den Wert ändern, den ich gerade per Klick mit + oder - geändert habe.

Gibt es da eine Möglichkeit den Wert density_moist in der row 3 zu ändern, anschließend an einer Änderung der Werte in Zeile 1 oder 2??

der Code:

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter as tk

class SpinInput:
    def __init__(self, parent, row, text, vartype, initial_value, step):
        self.value = vartype(value=initial_value)
        self.step = step
        self.row = row
        tk.Label(parent, text=text, width=15).grid(column=0, row=row)
        tk.Entry(parent, textvariable=self.value, width=5).grid(column=1, row=row)
        tk.Button(parent, text='-', command=self.decrease).grid(column=2, row=row)
        tk.Button(parent, text='+', command=self.increase).grid(column=3, row=row)

    def increase(self):       
        self.value.set(round(self.value.get() + self.step, 2))

        if self.row == 1:
            density_dry = self.value.get()
            file_in = open ('parameter.txt', "r")
            row1 = file_in.readline()
            saturation = float(file_in.readline())
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(str(self.value.get()))
                file_out.write("\n")
                file_out.write(str(saturation))
                file_out.write("\n")
                
                #Berechnung Dichte Feucht
                n = 1 - density_dry / 2650 
                density_moist = int(saturation * 1000 * n + density_dry)
        
                file_out.write(str(density_moist))
                file_out.write("\n")
                
                file_out.write(row4)
                file_out.write(row5)
                file_out.write(row6)
                file_out.write(row7)
                file_out.write(row8)
                file_out.write(row9)
                file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)

        if self.row == 2:
            saturation = self.value.get()
            file_in = open ('parameter.txt', "r")
            density_dry = int(file_in.readline())
            row2 = file_in.readline()
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(str(density_dry))
                file_out.write("\n")
                file_out.write(str(self.value.get()))
                file_out.write("\n")
                
                #Berechnung Dichte Feucht
                n = 1 - density_dry / 2650 
                density_moist = int(saturation * 1000 * n + density_dry)
        
                file_out.write(str(density_moist))
                file_out.write("\n")
                
                file_out.write(row4)
                file_out.write(row5)
                file_out.write(row6)
                file_out.write(row7)
                file_out.write(row8)
                file_out.write(row9)
                file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)

        if self.row > 2:
            print(self.value.get())
            file_in = open ('parameter.txt', "r")
            row1 = file_in.readline()
            row2 = file_in.readline()
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(row1)
                file_out.write(row2)
                file_out.write(row3)
                if self.row == 4:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row4)
                if self.row == 5:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row5)
                if self.row == 6:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row6)    
                if self.row == 7:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row7)
                if self.row == 8:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row8)
                if self.row == 9:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row9)
                if self.row == 10:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)
        
    def decrease(self):       
        self.value.set(round(self.value.get() - self.step, 2))

        if self.row == 1:
            density_dry = self.value.get()
            file_in = open ('parameter.txt', "r")
            row1 = file_in.readline()
            saturation = float(file_in.readline())
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(str(self.value.get()))
                file_out.write("\n")
                file_out.write(str(saturation))
                file_out.write("\n")
                
                #Berechnung Dichte Feucht
                n = 1 - density_dry / 2650 
                density_moist = int(saturation * 1000 * n + density_dry)
        
                file_out.write(str(density_moist))
                file_out.write("\n")
                
                file_out.write(row4)
                file_out.write(row5)
                file_out.write(row6)
                file_out.write(row7)
                file_out.write(row8)
                file_out.write(row9)
                file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)

        if self.row == 2:
            saturation = self.value.get()
            file_in = open ('parameter.txt', "r")
            density_dry = int(file_in.readline())
            row2 = file_in.readline()
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(str(density_dry))
                file_out.write("\n")
                file_out.write(str(self.value.get()))
                file_out.write("\n")
                
                #Berechnung Dichte Feucht
                n = 1 - density_dry / 2650 
                density_moist = int(saturation * 1000 * n + density_dry)
        
                file_out.write(str(density_moist))
                file_out.write("\n")
                
                file_out.write(row4)
                file_out.write(row5)
                file_out.write(row6)
                file_out.write(row7)
                file_out.write(row8)
                file_out.write(row9)
                file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)

        if self.row > 2:
            print(self.value.get())
            file_in = open ('parameter.txt', "r")
            row1 = file_in.readline()
            row2 = file_in.readline()
            row3 = file_in.readline()
            row4 = file_in.readline()
            row5 = file_in.readline()
            row6 = file_in.readline()
            row7 = file_in.readline()
            row8 = file_in.readline()
            row9 = file_in.readline()
            row10 = file_in.readline()    
            with open ('parameter_change.txt', "w") as file_out:
                file_out.write(row1)
                file_out.write(row2)
                file_out.write(row3)
                if self.row == 4:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row4)
                if self.row == 5:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row5)
                if self.row == 6:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row6)    
                if self.row == 7:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row7)
                if self.row == 8:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row8)
                if self.row == 9:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row9)
                if self.row == 10:
                    file_out.write(str(self.value.get()))
                    file_out.write("\n")
                else:
                    file_out.write(row10)

            file_in = open ('parameter_change.txt', "r")
            werte = file_in.readlines()
            with open ('parameter.txt', "w") as file_out:
                file_out.writelines(werte)

def main():
    root = tk.Tk()
    root.title("Test GUI")
    root.geometry("300x300")
    density_dry = SpinInput(root, 1, "density_dry", tk.IntVar, 1600, 50)
    saturation = SpinInput(root, 2, "saturation", tk.DoubleVar, 0.25, 0.25)

    #Berechnung Dichte Feucht
    n = 1 - density_dry.value.get() / 2650 
    density_moist = int(saturation.value.get() * 1000 * n + density_dry.value.get())

    row31 = tk.Label(root, text="density_moist", width=15).grid(column=0, row=3)
    row32 = tk.Label(root, text= density_moist, width=5).grid(column=1, row=3)
    
    diameter = SpinInput(root, 4, "diameter", tk.DoubleVar, 1.0, 0.1)
    cement_content = SpinInput(root, 5, "cement_content", tk.IntVar, 300, 10)
    start_temp = SpinInput(root, 6, "start_temp", tk.IntVar, 25, 1)
    einbau = SpinInput(root, 7, "einbau", tk.DoubleVar, 0, 0.5)
    wz = SpinInput(root, 8, "WZ Wert", tk.DoubleVar, 1, 0.05)
    absetz = SpinInput(root, 9, "Absetzmaß", tk.DoubleVar, 0.9, 0.05)
    soiltemp = SpinInput(root, 10, "soiltemp", tk.IntVar, 10, 1)           



    with open ('parameter.txt', "w") as initfile:
        initfile.write(str(density_dry.value.get()))
        initfile.write("\n")
        initfile.write(str(saturation.value.get()))
        initfile.write("\n")
        initfile.write(str(density_moist))
        initfile.write("\n")
        initfile.write(str(diameter.value.get()))
        initfile.write("\n")
        initfile.write(str(cement_content.value.get()))
        initfile.write("\n")
        initfile.write(str(start_temp.value.get()))
        initfile.write("\n")
        initfile.write(str(einbau.value.get()))
        initfile.write("\n")
        initfile.write(str(wz.value.get()))
        initfile.write("\n")
        initfile.write(str(absetz.value.get()))
        initfile.write("\n")
        initfile.write(str(soiltemp.value.get()))
        initfile.write("\n")    
    file_in = open ('parameter.txt', "r")
    werte = file_in.readlines()
    with open ('parameter_change.txt', "w") as file_out:
        file_out.writelines(werte)

    
    root.mainloop()  

    
       

    
if __name__ == '__main__':
    main()
 

Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Bevor Du hier weiter machst, solltest Du lernen, was Funktionen sind. Statt hunderte Zeilen Code zu kopieren, schreibt man gemeinsam genutzen Code in eine Funktion.
Wenn man anfängt, Variablen durchzunummerieren, will man eigentlich Listen und Schleifen benutzen.
Was hast Du Dir bei row31 und row32 gedacht?
Auch Dateien zum Lesen sollte man wieder schließen.

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter as tk

class SpinInput:
    def __init__(self, parent, row, text, vartype, initial_value, step):
        self.value = vartype(parent, value=initial_value)
        self.step = step
        tk.Label(parent, text=text, width=15).grid(column=0, row=row)
        tk.Entry(parent, textvariable=self.value, width=5).grid(column=1, row=row)
        tk.Button(parent, text='-', command=self.decrease).grid(column=2, row=row)
        tk.Button(parent, text='+', command=self.increase).grid(column=3, row=row)
    
    def increase(self):
        self.value.set(round(self.value.get() + self.step, 2))
        
    def decrease(self):
        self.value.set(round(self.value.get() - self.step, 2))


class Window(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("Test GUI")
        self.geometry("300x300")
        self.density_dry = SpinInput(self, 1, "density_dry", tk.IntVar, 1600, 50)
        self.saturation = SpinInput(self, 2, "saturation", tk.DoubleVar, 0.25, 0.25)
        self.density_moist = tk.IntVar(self)
        tk.Label(self, text="density_moist", width=15).grid(column=0, row=3)
        tk.Label(self, textvariable=self.density_moist, width=5).grid(column=1, row=3)
        self.diameter = SpinInput(self, 4, "diameter", tk.DoubleVar, 1.0, 0.1)
        self.cement_content = SpinInput(self, 5, "cement_content", tk.IntVar, 300, 10)
        self.start_temp = SpinInput(self, 6, "start_temp", tk.IntVar, 25, 1)
        self.einbau = SpinInput(self, 7, "einbau", tk.DoubleVar, 0, 0.5)
        self.wz = SpinInput(self, 8, "WZ Wert", tk.DoubleVar, 1, 0.05)
        self.absetz = SpinInput(self, 9, "Absetzmaß", tk.DoubleVar, 0.9, 0.05)
        self.soiltemp = SpinInput(self, 10, "soiltemp", tk.IntVar, 10, 1)    
        self.density_dry.value.trace_add("write", self.update_density_moist)
        self.saturation.value.trace_add("write", self.update_density_moist)
        self.diameter.value.trace_add("write", self.save)
        self.cement_content.value.trace_add("write", self.save)
        self.start_temp.value.trace_add("write", self.save)
        self.einbau.value.trace_add("write", self.save)
        self.wz.value.trace_add("write", self.save)
        self.absetz.value.trace_add("write", self.save)
        self.soiltemp.value.trace_add("write", self.save)
        self.update_density_moist()

    def update_density_moist(self, *args):
        # Berechnung Dichte Feucht
        n = 1 - self.density_dry.value.get() / 2650 
        self.density_moist.set(int(self.saturation.value.get() * 1000 * n + self.density_dry.value.get()))
        self.save()

    def save(self, *args):
        values = [
            self.density_dry.value.get(),
            self.saturation.value.get(),
            self.density_moist.get(),
            self.diameter.value.get(),
            self.cement_content.value.get(),
            self.start_temp.value.get(),
            self.einbau.value.get(),
            self.wz.value.get(),
            self.absetz.value.get(),
            self.soiltemp.value.get(),
        ]
        with open ('parameter.txt', "w") as initfile:
            initfile.writelines(map("{}\n".format, values))
        with open ('parameter_change.txt', "w") as file_out:
            file_out.writelines(map("{}\n".format, values))

def main():
    root = Window()
    root.mainloop()  
    
if __name__ == '__main__':
    main()
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

ich arbeite daran (zu lernen), es wird von Tag zu Tag besser.

Besten Dank für deine Hilfe, du bist wirklich ein Meister deiner Klasse, ich würde dich ja gerne mal auf ein paar Biere einladen :)

Habe den Code noch weiter ergänzt, funktioniert alles prima. Habe dann noch eine weitere Eingabemöglichkeit in der Spalte 5 hinzugefügt, da bei den zuvor "Entry" Objekte bei jeder Ziffer sämtliche Werte berechnet hat und am Ende nur noch quatsch rausgekommen ist.

Mir bleibt noch in Zeile 41 eine Frage:
Der Wert der dort angesprochen wird, wird bei "def update_thermal_conductivity" aus einem Textfile eingelesen mit readline(). Generell habe ich den Wert in Zeile 39 in mit DoubleVar, sprich also python float, definiert. In der GUI möchte ich anstelle 7 Kommastellen nur 2 Kommastellen darstellen. Das habe ich mit round() versucht in Zeile 41, jedoch bekomme ich folgende Fehlermeldung:
TypeError: type DoubleVar doesn't define __round__ method
Ich möchte allerdings unbedingt den Wert mit allen Kommastellen im TXT File "parameter.txt" beibehalten, da ich mit diesem weitere Berechnungen durchführen muss.

Ich konnte dazu nicht konkretes finden im Netz woran das liegen kann, könntest du mir da noch helfen??

unten der gesamte code (wird bei dir aufgrund des aufgerufenen binärfile in Zeile 101 nicht laufen)

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter as tk
import subprocess

class SpinInput:
    def __init__(self, parent, row, text, vartype, initial_value, step, unit):
        self.value = vartype(parent, value=initial_value)
        self.valuevar = vartype(parent, value=initial_value)
        self.step = step
        tk.Label(parent, text=text, width=25).grid(column=0, row=row)
        tk.Label(parent, textvariable=self.value, width=25).grid(column=1, row=row)
        tk.Label(parent, text=unit, width=10).grid(column=2, row=row)        
        tk.Button(parent, text='-', command=self.decrease).grid(column=3, row=row)
        tk.Button(parent, text='+', command=self.increase).grid(column=4, row=row)
        tk.Entry(parent, textvariable=self.valuevar, width=5).grid(column=5, row=row)
        tk.Button(parent, text='set', command=self.set).grid(column=6, row=row)
    
    def increase(self):
        self.value.set(round(self.value.get() + self.step, 2))
        
    def decrease(self):
        self.value.set(round(self.value.get() - self.step, 2))

    def set(self):
        self.value.set(round(self.valuevar.get(),2))


class Window(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("Test GUI")
        self.geometry("700x600")
        self.density_dry = SpinInput(self, 1, "density_dry", tk.IntVar, 1600, 50, "kg/m^3")
        self.density_moist = tk.IntVar(self)
        tk.Label(self, text="density_moist", width=15).grid(column=0, row=2)
        tk.Label(self, textvariable=self.density_moist, width=5).grid(column=1, row=2)
        tk.Label(self, text="kg/m^3", width=8).grid(column=2, row=2)
        self.saturation = SpinInput(self, 3, "saturation", tk.DoubleVar, 0.25, 0.25, "-") 
        self.thermal_conductivity = tk.DoubleVar(self)
        tk.Label(self, text="thermal conductivity", width=20).grid(column=0, row=4)
        tk.Label(self, textvariable=round(self.thermal_conductivity,2)).grid(column=1, row=4)
        tk.Label(self, text="KJ/mhK", width=8).grid(column=2, row=4)       
        self.heat_storage_capability = tk.IntVar(self)
        tk.Label(self, text="heat storage capability", width=25).grid(column=0, row=5)
        tk.Label(self, textvariable=self.heat_storage_capability, width=5).grid(column=1, row=5)
        tk.Label(self, text="KJ/(m^3K)", width=8).grid(column=2, row=5)     
        self.diameter = SpinInput(self, 6, "diameter", tk.DoubleVar, 1.0, 0.1, "m")
        self.cement_content = SpinInput(self, 7, "cement_content", tk.IntVar, 300, 10, "kg/m^3")
        self.start_temp = SpinInput(self, 8, "start_temp", tk.IntVar, 25, 1, "°C")
        self.einbau = SpinInput(self, 9, "einbau", tk.DoubleVar, 0, 0.5, "h")
        self.wz = SpinInput(self, 10, "WZ Wert", tk.DoubleVar, 1, 0.05, "-")
        self.absetz = SpinInput(self, 11, "Absetzmaß", tk.DoubleVar, 0.9, 0.05, "-")
        self.soiltemp = SpinInput(self, 12, "soiltemp", tk.IntVar, 10, 1, "°C")    
        self.density_dry.value.trace_add("write", self.update_density_moist)
        self.density_dry.value.trace_add("write", self.update_thermal_conductivity)
        self.density_dry.value.trace_add("write", self.update_heat_storage_capability)
        self.saturation.value.trace_add("write", self.update_density_moist)
        self.saturation.value.trace_add("write", self.update_thermal_conductivity)
        self.saturation.value.trace_add("write", self.update_heat_storage_capability)           
        self.diameter.value.trace_add("write", self.save)
        self.cement_content.value.trace_add("write", self.save)
        self.start_temp.value.trace_add("write", self.save)
        self.einbau.value.trace_add("write", self.save)
        self.wz.value.trace_add("write", self.save)
        self.absetz.value.trace_add("write", self.save)
        self.soiltemp.value.trace_add("write", self.save)
        self.update_density_moist()
        self.update_heat_storage_capability()
        self.update_thermal_conductivity()

    def update_density_moist(self, *args):
        # Berechnung Dichte Feucht
        n = 1 - self.density_dry.value.get() / 2650 
        self.density_moist.set(int(self.saturation.value.get() * 1000 * n + self.density_dry.value.get()))
        self.save()

    def update_heat_storage_capability(self, *args):
        self.update_density_moist()
        #Berechnung Dichte Feucht
        n = 1 - self.density_dry.value.get() / 2650 
        w = (self.density_moist.get() - self.density_dry.value.get()) / self.density_dry.value.get()
        c_vol = (1 - w) * 0.75 + w * 4.19
        self.heat_storage_capability.set(round((c_vol * self.density_moist.get()))) 
        #kaufmännisches Runden

    def update_thermal_conductivity(self, *args):
        self.update_density_moist()
    	# Berechnung Devries
        # create devries input file
        devries = open ("input_devries.txt", "w")
        devries.write(
    		    "8.4\n"       #Leitfähigkeit Kornfraktion
		    "0.55\n"      #Leitfähigkeit Wasser
                    "0.026\n"     #Leitfähigkeit Luft
	            "0.333\n")    #Kornform rund 0,333 elliptisch 0,144
        devries.write(str(self.density_dry.value.get()))
        devries.write("\n")
        devries.write(str(self.density_moist.get()))
        devries.close()
        # Run prog_devries
        subprocess.run('./prog_devries')
        # get thermal_conductivity from output_devries.txt
        devries = open ("output_devries.txt", "r")
        self.thermal_conductivity.set(devries.readline())
        devries.close()
        self.save()
        print("das ist devries", self.thermal_conductivity.get())    	 	
    	
    def save(self, *args):
        values = [
            self.density_dry.value.get(),
            self.density_moist.get(),
            self.saturation.value.get(),
            self.thermal_conductivity.get(),
            self.heat_storage_capability.get(),
            self.diameter.value.get(),
            self.cement_content.value.get(),
            self.start_temp.value.get(),
            self.einbau.value.get(),
            self.wz.value.get(),
            self.absetz.value.get(),
            self.soiltemp.value.get(),
        ]
        with open ('parameter.txt', "w") as initfile:
            initfile.writelines(map("{}\n".format, values))


def main():
    root = Window()
    root.mainloop()  
    
if __name__ == '__main__':
    main()
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Wie soll das in Zeile 41 auch funktionieren?
Da kannst Du halt nicht mit textvariable arbeiten.
fox1203
User
Beiträge: 56
Registriert: Montag 23. März 2020, 15:19

OK muss ich mir nochmal genauer ansehen, habs auf die schnelle nicht lösen können, ist ja eh nur eine optische Sache,...

Der Rest läuft nun perfekt, danke nochmal, habs jetzt noch weiter ergänzt. Als Rechenergebnis erhalte ich nun ein Textfile, in der ersten und dritten Spalte ist jeweils eine Zeitskala in 0,5h Schritten und in Spalte zwei und vier jeweils ein Temperaturverlauf. Ich möchte nun diese beiden Temperaturverläufe unterhalb der Eingabewerte in meiner GUI darstellen lassen just in time. Könntest du mir da ein sinnvolles Tutorial nennen, wo ich mich darüber einlesen kann, bzw. mit welchen Modulen du das angehen würdest??
Antworten