Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sebastian Baum
XY Tisch
Commits
ac10ee6c
Commit
ac10ee6c
authored
Jan 20, 2020
by
Sebastian Baum
Browse files
Add new file
parents
Changes
1
Hide whitespace changes
Inline
Side-by-side
xytisch
0 → 100644
View file @
ac10ee6c
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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment