Jetzt habt ihr mich komplett verwirrt.
Ich bin seit grade mal drei Tage mit Python unterwegs. Meine Kenntnisse beschränken sich auf html von 1996.
Ich poste mal was ich bisher habe. Wenn ihr jetzt schon sagt HAAAAAAAAAAAAAAALT STOPP! VOLL KACKE... dann sagt bitte bescheid-
Wenn es für den eigenen Gebraucht ohne das jemals irgendwer anders auf diesen Code gucken wird noch gut genug ist, dann bitte auch bescheid sagen.
Keine Lust jetzt 100h zu tippen und dann am Ende feststellen zu müssen, dass das nicht geht weil 1000 Zeilen überschritten.
Code: Alles auswählen
from tkinter import *
from openpyxl import load_workbook
from openpyxl import Workbook
"""
Aufträge aus der Datenbank ziehen für die Übersichtsliste
kommt dann später
"""
Auftrag1 = "SMnummer 1 "
Auftrag2 = "SMnummer 2 "
Auftrag3 = "SMnummer 3 "
Auftrag4 = "SMnummer 4 "
Auftrag5 = "SMnummer 5 "
Auftrag6 = "SMnummer 6 "
statusAuftrag1 = "(1/7)"
statusAuftrag2 = "(4/7)"
statusAuftrag3 = "(3/7)"
statusAuftrag4 = "(7/7)"
statusAuftrag5 = "(6/7)"
Kabel1 = "1"
Kabel2 = "2"
Trommel1 = "2545112"
Trommel2 = "2254642"
Trommel3 = "2346722"
Trommel4 = "8796322"
Trommel5 = "7434522"
Trommel6 = "7435632"
Trommel7 = "7454323"
EinzelLaenge = "30m"
DoppelLaenge = "60m"
Trommel = "010981238"
TrommelLaenge = "500m"
KabelTyp = "36 DA"
Kabelnummer = "1 + 2"
def create_window(): # Zu Kurz Popup
window = Toplevel(root)
root = Tk() # Fenster erzeugen
root.title("Kabelschneiden Benutzeroberfläche") # Fenster Titel
root.geometry("1200x800") # Fenster Abmessungen
root.configure(bg="darkblue")
root.resizable(width=False, height=False)
menubar = Menu(root)
# Menüleiste erstellen und erzeugen
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Öffnen")
filemenu.add_command(label="Speichern")
filemenu.add_separator()
filemenu.add_command(label="Beenden", command=root.quit)
menubar.add_cascade(label="Datei", menu=filemenu)
# Dropdownmenü erstellen
editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label="Ausschneiden")
editmenu.add_command(label="Kopieren")
editmenu.add_command(label="Einfügen")
menubar.add_cascade(label="Menu 2", menu=editmenu)
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Über")
helpmenu.add_command(label="Sebastian")
menubar.add_cascade(label="Hilfe", menu=helpmenu)
# Menüleiste anzeigen
root.config(menu=menubar)
# Bilder deklarieren
logo = PhotoImage(file="images\colli.gif")
# Trommelauswahl
Trommelauswahlframe = LabelFrame(root, text="Kabel schneiden", height="220", width="1060", bg="darkblue", fg="white")
Trommelauswahlframe.place(x=12, y=2) # Rahmen um den ersten Schritt
uAufLabel = Label(root, text="Kabeltrommel auswählen:", bg="darkblue", fg="white") # Überschrift offene Aufträg
uAufLabel.place(x=20, y=20)
eKabeltrommel = Entry(root) # Kabeltrommel manuell wählen
eKabeltrommel.place(x=30, y=48)
ueAufBox = Listbox(root, bg="darkblue", fg="white", height="8", width="22") # Auftragsliste generieren
ueAufBox.place(x=23, y=83)
ueAufBox.insert(END, Trommel1) # muss noch definiert werden oben
for item in [Trommel2, Trommel3, Trommel4, Trommel5, Trommel6, Trommel7]: # Die weiteren Listeneinträge
ueAufBox.insert(END, item)
wb = load_workbook("database\datenbankZuschnitt.xlsx") # Datei einlesen
ws = wb.active # Sagen welche verwendet werden soll
ws['F5'] = "Das müsste jetzt in der Console stehen" # Der text der eingetragen werden soll
print(wb.get_sheet_names()) # ausgabe des datenblattnamen
sheet_ranges = wb['SchneidlistenOffen'] # welches registerblatt gelesen werden soll
print(sheet_ranges["F5"].value)
for sheet in wb:
a=(sheet.title)
print(a)
# ausgabe des eingetragenden textes
# Übersicht Schneidaufträge auf aktiver Kabeltrommel
uSchneidliste = Label(root, text="Schneidliste der Trommel: (0012345678)", bg="darkblue", fg="white")
uSchneidliste.place(x=170, y=20) # Überschrift Dieses Kabel schneiden
uTrommellaengeSL = Label(root, text="Trommellänge: ", bg="darkblue", fg="white") # Überschrift Kabelnummern
uTrommellaengeSL.place(x=170, y=40)
uTrommellaengeSL = Label(root, text="500m ", bg="darkblue", fg="white") # ############################################################# FAKETROMMEllänge
uTrommellaengeSL.place(x=170, y=60)
uSMNummerSL = Label(root, text="SM Nummer: ", bg="darkblue", fg="white") # Überschrift Sm Nummer
uSMNummerSL.place(x=280, y=40)
lSMNummerSL1 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL1.place(x=280, y=60)
lSMNummerSL2 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL2.place(x=280, y=80)
lSMNummerSL3 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL3.place(x=280, y=100)
lSMNummerSL4 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL4.place(x=280, y=120)
lSMNummerSL5 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL5.place(x=280, y=140)
lSMNummerSL6 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL6.place(x=280, y=160)
lSMNummerSL7 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL7.place(x=280, y=180)
lSMNummerSL8 = Label(root, text="0202135787 ", bg="darkblue", fg="white") # ##################################################FAKESMNUMMER
lSMNummerSL8.place(x=280, y=200)
uAuftragSL = Label(root, text="Kabellänge: ", bg="darkblue", fg="white") # Überschrift Kabelänge
uAuftragSL.place(x=365, y=40)
uAuftragSL = Label(root, text="180m (90m) ", bg="darkblue", fg="white") # ###################################################FAKESKABELLÄNGE
uAuftragSL.place(x=365, y=60)
uAuftragSL = Label(root, text="Ringe: ", bg="darkblue", fg="white") # Überschrift Ring Anzahl
uAuftragSL.place(x=435, y=40)
uAuftragSL = Label(root, text="3 (6) ", bg="darkblue", fg="white") # ###################################################ANAZHL SCHNITTE
uAuftragSL.place(x=435, y=60)
uRestSL = Label(root, text="Rest: ", bg="darkblue", fg="white") # Überschrift Rest
uRestSL.place(x=170, y=100)
uRestSL = Label(root, text="3m (90m) ", bg="darkblue", fg="white") # ###################################################FAKESREST
uRestSL.place(x=170, y=120)
uKabeltypSL = Label(root, text="Kabelart: ", bg="darkblue", fg="white") # Überschrift Rest
uKabeltypSL.place(x=170, y=160)
lKabeltypSL = Label(root, text="36 DA ", bg="darkblue", fg="white") # ###################################################FAKESREST
lKabeltypSL.place(x=170, y=180)
# Dieses Kabel Schneiden
uAuftragSchneiden = Label(root, text="Dieses Kabel schneiden:", bg="darkblue", fg="white")
uAuftragSchneiden.place(x=520, y=20) # Überschrift Dieses Kabel schneiden
uSMNummerAktiv = Label(root, text="SM Nummer: ", bg="darkblue", fg="white") # Überschrift Kabelnummern
uSMNummerAktiv.place(x=520, y=40)
labelSMNummerAktiv = Label(root, text=Auftrag1, bg="darkblue", fg="white") # Text Kabelnummern
labelSMNummerAktiv.place(x=620, y=40)
uKabelnummer = Label(root, text="Kabelnummer: ", bg="darkblue", fg="white") # Überschrift Kabelnummern
uKabelnummer.place(x=520, y=60)
labelKabelnummer = Label(root, text=Kabelnummer, bg="darkblue", fg="white") # Text Kabelnummern
labelKabelnummer.place(x=620, y=60)
labelEinzelLaenge2 = Label(root, text="Zwischenlänge: ", bg="darkblue", fg="white") # Label Zwischenlänge
labelEinzelLaenge2.place(x=520, y=80)
textEinzelLaenge2 = Label(root, text=EinzelLaenge + " " + "+ " + "0.250 Maschinenabhängige Zusatzlänge",
bg="darkblue", fg="white") # Text Zwischenlänge
textEinzelLaenge2.place(x=620, y=80)
uAuftragSchneiden = Label(root, text="Endlänge: ", bg="darkblue", fg="white") # Überschrift Doppellänge
uAuftragSchneiden.place(x=520, y=100)
labelDoppelLaenge2 = Label(root, text=DoppelLaenge, bg="darkblue", fg="white") # Text Doppellänge
labelDoppelLaenge2.place(x=620, y=100)
# Buttons für Schneidliste (Fertig, Überspringen, zu kurz
bKabelFertig = Button(root, text="Geschnitten (F1)", width="15", height="2",) #Button erledigt
bKabelFertig.place(x=950, y=20)
bKabelNichtFertig = Button(root, text="Überspringen (F2)", width="15", height="2",) #Button Kabel nicht geschnitten
bKabelNichtFertig.place(x=950, y=65)
bKabelZuKurz = Button(root, text="Zu Kurz (F3)", width="15", height="2", command=create_window) #Button Zu Kurz
bKabelZuKurz.place(x=950, y=110)
# Auftragsübersicht
Auftragsuebersichtframe = LabelFrame(root, text="Schneidlisten Status (Live)", height="220", width="600", bg="darkblue", fg="white") # Rahmen um die Auftragsübersicht
Auftragsuebersichtframe.place(x=12, y=240)
labelAuftrag1 = Label(root, text = "Auftrag 1: ", bg="darkblue", fg="white") # Einzellänge
labelAuftrag1.place(x=20, y=258)
tAuftrag1 = Label(root, text = Auftrag1, bg="darkblue", fg="white") # Auftrag 1 text
tAuftrag1.place(x=80, y=258)
labelAuftrag2 = Label(root, text = "Auftrag 2:", bg="darkblue", fg="white") # Überschrift Auzftrag 2
labelAuftrag2.place(x=20, y=278)
tAuftrag2 = Label(root, text = Auftrag2, bg="darkblue", fg="white") # Auftrag 2 text
tAuftrag2.place(x=80, y=278)
labelAuftrag3 = Label(root, text = "Auftrag 3:", bg="darkblue", fg="white") # Überschrift Auftrag3
labelAuftrag3.place(x=20, y=298)
tAuftrag3 = Label(root, text = Auftrag3, bg="darkblue", fg="white") # Auftrag3 text
tAuftrag3.place(x=80, y=298)
labelAuftrag4 = Label(root, text = "Auftrag 4:", bg="darkblue", fg="white") # Überschrift Auftrag4
labelAuftrag4.place(x=20, y=318)
tAuftrag4 = Label(root, text = Auftrag4, bg="darkblue", fg="white") # Auftrag4 ausgabe text
tAuftrag4.place(x=80, y=318)
labelAuftrag5 = Label(root, text = "Auftrag 5:", bg="darkblue", fg="white") # Überschrift Auftrag5
labelAuftrag5.place(x=20, y=338)
tAuftrag5 = Label(root, text = Auftrag5, bg="darkblue", fg="white") # Auftrag5 ausgabe text
tAuftrag5.place(x=80, y=338)
# LIVE Status der offenen Aufträge (z.B. 3 von 4 geschnitten)
statusAuftrag1 = Label(root, text=statusAuftrag1, bg="darkblue", fg="white") # 1 text
statusAuftrag1.place(x=310, y=258)
statusAuftrag2 = Label(root, text=statusAuftrag2, bg="darkblue", fg="white") # 2 text
statusAuftrag2.place(x=310, y=278)
statusAuftrag3 = Label(root, text=statusAuftrag3, bg="darkblue", fg="white") # 3 text
statusAuftrag3.place(x=310, y=298)
statusAuftrag4 = Label(root, text=statusAuftrag4, bg="darkblue", fg="white") # 4 ausgabe text
statusAuftrag4.place(x=310, y=318)
statusAuftrag5 = Label(root, text=statusAuftrag5, bg="darkblue", fg="white") # 5 ausgabe text
statusAuftrag5.place(x=310, y=338)
# Rechner für den letzten Ring (A1-E1)+(A2+E2)
Ringrechnerframe = LabelFrame(root, text="Berechnen des letzten Rings", height="220", width="450", bg="darkblue", fg="white") # Rahmen um den Ring Rechner
Ringrechnerframe.place(x=622, y=240)
Laenge1 = Label(root, text = "Kabelanfang (m): ", bg="darkblue", fg="white") # Text erste Markierung des Kabels
Laenge1.place(x=630, y=258)
feld1 = Entry(root) # Eingabe für erste Markierung
feld1.place(x=800, y=258)
Laenge2 = Label(root, text = "Kabelende (m)", bg="darkblue", fg="white") # Text zweite Markierung
Laenge2.place(x=630, y=278)
feld2 = Entry(root) # Eingabe für zweite Markierung
feld2.place(x=800, y=278)
Laenge3 = Label(root, text = "Maß Kabelanfang (cm)", bg="darkblue", fg="white") # Text gemessene Länge Kabelanfang
Laenge3.place(x=630, y=298)
feld3 = Entry(root) # ingabe des gemeesenen Maß 1
feld3.place(x=800, y=298)
Laenge4 = Label(root, text = "Maß Kabelende (cm)", bg="darkblue", fg="white") # Text gemessene Länge Kabel ende
Laenge4.place(x=630, y=318)
feld4 = Entry(root) # ingabe des gemessenen Maß 2
feld4.place(x=800, y=318)
def lesen(): #funktion zum rechnen / auslesen
Ergebnis.configure(text=feld4.get())
def rechnen():
a = float(feld1.get())
b = float(feld2.get())
c = float(feld3.get())
d = float(feld4.get())
Ergebnis.configure(text=(a-b)+(c+d))
Berechnen = Button(root, text = "Berechnen", command = rechnen, width="15", height="2",) #Knopf zum berechnen
Berechnen.place(x=950, y=410)
Ergebnis = Label(root, text = "Ergebnis (Layout wird noch geänder)", bg="darkblue", fg="white") #Hier soll dann das Ergenis der Rechnung ausgegeben
Ergebnis.place(x=660, y=360) #werden. Später dann mit "MSG" PopUp
Hinweis = Label(root, text = "PUNKT (.) anstelle von KOMMA (,) benutzen! Wird noch geändert", bg="darkblue", fg="white")
Hinweis.place(x=660, y=380)
# Ansicht Collianhänger 1
Kollidruckframe = LabelFrame(root, text="Druckvorschau Kollianhänger", height="220", width="450", bg="darkblue", fg="white") # Rahmen um den Ring Rechner
Kollidruckframe.place(x=12, y=480)
Kollibild = Label(root, image=logo)
Kollibild.place(x=20, y=500)
tEinzelLaenge = Label(root, text = EinzelLaenge) # Einzellänge ausgabe text
tEinzelLaenge.place(x=280, y=620)
tTrommel = Label(root, text = "Trommel " + Trommel) # Trommelnummer ausgabe text
tTrommel.place(x=260, y=565)
tKabelTyp = Label(root, text = KabelTyp) # Trommelnummer ausgabe text
tKabelTyp.place(x=80, y=620)
tSMNummer = Label(root, text = Auftrag1)
tSMNummer.place(x=60, y=565)
tKabel1 = Label(root, text = "Kabel Nummer: " + Kabel1)
tKabel1.place(x=60, y=520)
# Ansicht Collianhänger 1
Kollidruckframe = LabelFrame(root, text="Druckvorschau Kollianhänger", height="220", width="450", bg="darkblue", fg="white") # Rahmen um den Ring Rechner
Kollidruckframe.place(x=472, y=480)
Kollibild = Label(root, image=logo)
Kollibild.place(x=480, y=500)
tEinzelLaenge = Label(root, text = EinzelLaenge) # Einzellänge ausgabe text
tEinzelLaenge.place(x=710, y=620)
tTrommel = Label(root, text = "Trommel " + Trommel) # Trommelnummer ausgabe text
tTrommel.place(x=710, y=565)
tKabelTyp = Label(root, text = KabelTyp) # Trommelnummer ausgabe text
tKabelTyp.place(x=520, y=620)
tSMNummer = Label(root, text = Auftrag1)
tSMNummer.place(x=520, y=565)
tKabel2 = Label(root, text = "Kabel Nummer: " + Kabel1)
tKabel2.place(x=520, y=520)
bDruckenKolli = Button(root, text="Drucken", width="15", height="2",) #Button Kabel nicht geschnitten
bDruckenKolli.place(x=950, y=500)
bDruckenVorschauKolli = Button(root, text="Vorschau", width="15", height="2",) #Button Kabel nicht geschnitten
bDruckenVorschauKolli.place(x=950, y=550)
root.mainloop() # Programm nicht beenden