mein kollege hatte mich vor kurzem gefragt, ob ich ihm bei einem kleinen programm helfen koenne, welches er mit python programmieren sollte, eine 7-Segment Anzeige (wie bei Digitaluhren etc.)
auf knopfdruck sollen also die zahlen auf dem display erscheinen.
Also habe ich mir gedacht, nehmen wir fuer die einzelnen segmente einfach labelfelder von denen wir auf knopfdruck die hintergrundfarbe ändern (mit java, vb alles kein thema), aber ich weiss nicht, wie ich mit python auf das erstellte Labelobjekt zugreifen kann...
finde auch leider keine guten beispielaufgaben zum nachträglichen ändern.
Bitte helft mir... .p
Hier der code: (Das programm soll so unkompliziert wie möglich gehalten werden)
Code: Alles auswählen
import Tkinter
from Tkconstants import *
def btn1():
print "eigtl. sollen sich labelfarben ändern, dass eine 1 ensteht!"
hmm = "grey"
tk=Tkinter.Tk()
block=Tkinter.Frame(tk)
block2=Tkinter.Frame(tk)
block.pack(side="left")
block2.pack(side="left")
button_a5=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_a5.grid(row=0, column=0)
button_a4=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_a4.grid(row=1, column=0)
button_a3=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_a3.grid(row=2, column=0)
button_a2=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_a2.grid(row=3, column=0)
button_a1=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_a1.grid(row=4, column=0)
button_b5=Tkinter.Label(block, width=4, bg="grey", text=" ")
button_b5.grid(row=0, column=1)
button_b4=Tkinter.Label(block, width=4, bg="grey", text=" ")
button_b4.grid(row=1, column=1)
button_b3=Tkinter.Label(block, width=4, bg="grey", text=" ")
button_b3.grid(row=2, column=1)
button_b2=Tkinter.Label(block, width=4, bg="grey", text=" ")
button_b2.grid(row=3, column=1)
button_b1=Tkinter.Label(block, width=4, bg="grey", text=" ")
button_b1.grid(row=4, column=1)
button_c5=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_c5.grid(row=0, column=2)
button_c4=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_c4.grid(row=1, column=2)
button_c3=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_c3.grid(row=2, column=2)
button_c2=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_c2.grid(row=3, column=2)
button_c1=Tkinter.Label(block, width=3, bg="grey", text=" ")
button_c1.grid(row=4, column=2)
button_1=Tkinter.Button(block2, width=2, bg="grey", text="1", command=btn1)
button_1.grid(row=0, column=3)
button_2=Tkinter.Button(block2, width=2, bg="grey", text="2")
button_2.grid(row=1, column=3)
button_3=Tkinter.Button(block2, width=2, bg="grey", text="3")
button_3.grid(row=2, column=3)
button_4=Tkinter.Button(block2, width=2, bg="grey", text="4")
button_4.grid(row=3, column=3)
button_5=Tkinter.Button(block2, width=2, bg="grey", text="5")
button_5.grid(row=4, column=3)
button_6=Tkinter.Button(block2, width=2, bg="grey", text="6")
button_6.grid(row=0, column=4)
button_7=Tkinter.Button(block2, width=2, bg="grey", text="7")
button_7.grid(row=1, column=4)
button_8=Tkinter.Button(block2, width=2, bg="grey", text="8")
button_8.grid(row=2, column=4)
button_9=Tkinter.Button(block2, width=2, bg="grey", text="9")
button_9.grid(row=3, column=4)
button_0=Tkinter.Button(block2, width=2, bg="grey", text="0")
button_0.grid(row=4, column=4)
tk.mainloop()
button_b3=Tkinter.Label(block, width=2, bg="red", text=" ")
button_b3.grid(row=2, column=1)
ausführen zu lassen, wenn man auf einen button drückt, hierbei erkennt man aber, dass pythonm einfach nur ein neues Label (mit demselben namen?) erstellt und drüber plaziert, dass ich ja nciht sinn der sache.
Danke fuer eure Mühen
mfg Marc Werner
edit by Milan: code-Tgas eingefügt... bitte das nächste mal dran denken, es ist lästig Quellcode ohne sie zu lesen!