ich hatte hier vor einigen Tgen schon Hilfe bekommen, wobei sich erausstellte das ich mit das Objektoptimierte Programmieren mal anschauen sollte.
Habe jetzt in einem Buch gelesen und einige Videos angeschaut zu dem Thema. Allerdings denke ich das ich nur die Hälfte verstanden habe.
Jedenfalls habe ich nachfolgendes Progamm etwas weiter gesponnen. Es Funktioniert soweit ganz gut.
Ich werde aber das gefühl nicht los das es Programmiertechnisch eine Katastrophe ist.
Schut mal drüber wenn ihr zeit und lust habt
Code: Alles auswählen
from tkinter import *
import tkinter as tk
class Fenster(tk.Tk):
def __init__(self):
super().__init__()
self.counter1 = 0 # zähler für menü
self.counter2 = 0 # zähler für menü
self.kontrast = 100 # wert für kontrast
self.farbe = 100 # wert für farbe
self.xwert = 150 # X wert für fadenkreuz
self.ywert = 150 # Y Wert für Fadenkreuz
self.menue = " " , " Gerät AUS " , " Fadenkreuz " , " Farbe Faden. " , " Kontrast "
self.title("Display")
self.geometry("580x300")
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_line(2,2,318,2)
zeichner.create_line(318,2,318,260)
zeichner.create_line(2,260,318,260)
zeichner.create_line(2,2,2,260)
zeichner.create_oval(2,2,318,260)
zeichner.create_line(self.xwert,1,self.xwert,260)
zeichner.create_line(2,self.ywert,318,self.ywert)
knopf1 = tk.Button(self, text="Plus", command=self.ausgabeplus)
knopf2 = tk.Button(self, text="SET", command=self.ausgabeset)
knopf3 = tk.Button(self, text="Minus", command=self.ausgabeminus)
knopf4 = tk.Button(self, text="Links", command=self.ausgabelinks)
knopf5 = tk.Button(self, text="Rechts", command=self.ausgaberechts)
knopf1.place(x = 50, y = 0 , width=50, height=50)
knopf2.place(x = 50, y = 50 , width=50, height=50)
knopf3.place(x = 50, y = 100 , width=50, height=50)
knopf4.place(x = 0, y = 50 , width=50, height=50)
knopf5.place(x = 100, y = 50 , width=50, height=50)
def label(self):
label1 = Label(self)
label1.place(x = 160, y =50 )
label1.configure(text=self.men[self.b])
def ausgabelinks(self):
if self.counter2 == 2:
self.xwert = self.xwert -1
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_oval(self.xwert-5,self.ywert-5,self.xwert+5,self.ywert+5)
def ausgaberechts(self):
if self.counter2 == 2:
self.xwert = self.xwert + 1
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_oval(self.xwert-5,self.ywert-5,self.xwert+5,self.ywert+5)
def ausgabeset(self):
label1 = Label(self)
label1.place(x = 260, y =70 )
label1.configure(text=" ")
if self.counter1 == 0:
pass
elif self.counter2 == 1:
self.counter2 = 0
elif self.counter2 == 2:
self.counter2 = 0
elif self.counter1 == 1:
label1 = Label(self)
label1.place(x = 170, y =50 )
label1.configure(text="System wird heruntergefahren ")
elif self.counter1 == 2: # Fadenkreuz
self.counter2 = 2
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_oval(self.xwert-5,self.ywert-5,self.xwert+5,self.ywert+5)
elif self.counter1 == 3:
label1 = Label(self)
label1.place(x = 160, y =50 )
label1.configure(text=" ")
elif self.counter1 == 4:
self.counter2=1
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_line(self.xwert,1,self.xwert,260)
zeichner.create_line(2,self.ywert,318,self.ywert)
print(self.counter2)
def ausgabeplus(self):
if self.counter1 > 4:
self.counter1 = 0
elif self.counter2 == 0:
self.counter1 = self.counter1 + 1
if self.counter1 > 4:
self.counter1 = 0
elif self.counter2 == 1:
self.kontrast = self.kontrast +1
label1 = Label(self)
label1.place(x = 260, y =70 )
label1.configure(text= self.kontrast )
elif self.counter2 == 2:
self.ywert = self.ywert -1
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_oval(self.xwert-5,self.ywert-5,self.xwert+5,self.ywert+5)
print(self.menue[self.counter1])
print(self.kontrast)
print("Counter1 = ",self.counter1)
print("Counter2 = ",self.counter2)
label1 = Label(self)
label1.place(x = 260, y =50 )
label1.configure(text=self.menue[self.counter1])
def ausgabeminus(self):
if self.counter1 < 0:
self.counter1 = 4
elif self.counter2 == 0:
self.counter1 = self.counter1 - 1
if self.counter1 < 0:
self.counter1 = 4
elif self.counter2 == 1:
self.kontrast = self.kontrast -1
label1 = Label(self)
label1.place(x = 260, y =70 )
label1.configure(text= self.kontrast )
elif self.counter2 == 2:
self.ywert = self.ywert +1
zeichner = tk.Canvas(self)
zeichner.place(x = 150, y = 0)
zeichner.create_oval(2,2,318,260)
zeichner.create_oval(self.xwert-5,self.ywert-5,self.xwert+5,self.ywert+5)
print(self.menue[self.counter1])
print(self.kontrast)
print("Counter1 = ",self.counter1)
print("Counter2 = ",self.counter2)
label1 = Label(self)
label1.place(x = 260, y =50 )
label1.configure(text=self.menue[self.counter1])
def main():
fenster = Fenster()
fenster.mainloop()
if __name__ == '__main__':
main()