Commit ac10ee6c authored by Sebastian Baum's avatar Sebastian Baum
Browse files

Add new file

parents
from tkinter import *
# Ein Fenster erstellen
fenster = Tk()
# Zuerst definieren wir die Grösse des Fensters
fenster.geometry("600x600")
# Den Fenstertitle erstellen
fenster.title("Steuerung")
# Variablen#
# laeuft intern mit um nicht über den Rand zu fahren, muss am Anfang in einer Ecke des Exponats resettet werden
positionXintern = 0
positionYintern = 0
# angezeigte Koordinaten
positionXanzeige = 0
positionYanzeige = 0
# Befehle
# normaler button
def setX_action(): # angezeigten x-Nullpunkt neu setzen, um von da aus nun das Gitter zu befahren
labelNullpunktX.config(text="Festgelegter X-Nullpunkt: \n" + str(positionXintern))
global positionXanzeige
positionXanzeige = 0
labelAktPosX.config(text="Aktuelle x-Position=" + str(positionXanzeige))
def setY_action(): # angezeigten y-Nullpunkt neu setzen, um von da aus nun das Gitter zu befahren
labelNullpunktY.config(text="Festgelegter X-Nullpunkt: \n" + str(positionYintern))
global positionYanzeige
positionYanzeige = 0
labelAktPosY.config(text="Aktuelle y-Position=" + str(positionYanzeige))
def start_action(): # befahren des gitter starte
hi = 0
# TODO befahren starten
def stop_action(): # befahren stoppen
hi = 0
# TODO befahren stoppen
def nullpunkt_action(): # internen Nullpunkt setzen
global positionXintern
global positionYintern
positionXintern = 0
positionYintern = 0
# eingabe button
def x_action(): # in x Richtung fahren
global positionXintern
global positionXanzeige
entry_textX = int(eingabefeldX.get())
if ((positionXintern + entry_textX) >= 0) and ((positionXintern + entry_textX) <= 600):
positionXanzeige = positionXanzeige + entry_textX
positionXintern = positionXintern + entry_textX
labelAktPosX.config(text="Aktuelle x-Position=" + str(positionXanzeige))
# TODO in xRichtung fahren, achtung Vorzeichen
def y_action(): # in y Richtung fahren
global positionYintern
global positionYanzeige
entry_textY = int(eingabefeldY.get())
if ((positionYintern + entry_textY) >= 0) and ((positionYintern + entry_textY) <= 600):
positionYanzeige = positionYanzeige + entry_textY
positionYintern = positionYintern + entry_textY
labelAktPosY.config(text="Aktuelle y-Position=" + str(positionYanzeige))
# TODO in yRichtung fahren achtung Vorzeichen
# Label und Buttons erstellen. Button(Objekt, Anzeigetext, oben definierter Befehl)
x_button = Button(fenster, text="x", command=x_action)
y_button = Button(fenster, text="y", command=y_action)
setX_button = Button(fenster, text="set X auf Null", command=setX_action)
setY_button = Button(fenster, text="set Y auf Null", command=setY_action)
exit_button = Button(fenster, text="Beenden", command=fenster.quit)
start_button = Button(fenster, text="Start", command=start_action)
stop_button = Button(fenster, text="Stop", command=stop_action)
setInternNull = Button(fenster, text="System-Nullpunkt setzen", command=nullpunkt_action)
info_label_Pos = Label(fenster, text="Position [mm]")
info_label_Wert = Label(fenster, text="Wert [mm]")
labelAktPosX = Label(fenster, text="Aktuelle x-Position=" + str(positionXanzeige))
labelAktPosY = Label(fenster, text="Aktuelle y-Position=" + str(positionYanzeige))
labelNullpunktX = Label(fenster, text="Festgelegter X-Nullpunkt: \n 0")
labelNullpunktY = Label(fenster, text="Festgelegter Y-Nullpunkt: \n 0")
# Hier kann der Benutzer eine Eingabe machen
eingabefeldX = Entry(fenster, bd=5, width=40)
eingabefeldY = Entry(fenster, bd=5, width=40)
# Nun fügen wir die Komponenten unserem Fenster
# in der gewünschten Reihenfolge/Position hinzu.
x_button.place(x=450, y=100, width=100, height=50)
y_button.place(x=450, y=300, width=100, height=50)
setX_button.place(x=180, y=200, width=100, height=50)
setY_button.place(x=180, y=400, width=100, height=50)
exit_button.place(x=300, y=550, width=300, height=50)
start_button.place(x=0, y=550, width=300, height=50)
stop_button.place(x=0, y=480, width=600, height=50)
setInternNull.place(x=0, y=40, width=600, height=50)
info_label_Pos.place(x=0, y=0, width=100, height=30)
info_label_Wert.place(x=300, y=0, width=100, height=30)
labelAktPosX.place(x=0, y=100, width=130, height=50)
labelAktPosY.place(x=0, y=300, width=130, height=50)
labelNullpunktX.place(x=0, y=200, width=150, height=50)
labelNullpunktY.place(x=0, y=400, width=150, height=50)
eingabefeldX.place(x=300, y=100, width=100, height=50)
eingabefeldY.place(x=300, y=300, width=100, height=50)
# In der Ereignisschleife auf Eingabe des Benutzers warten.
fenster.mainloop()
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment