canvas.itemconfigure(...) hängt?
Verfasst: Mittwoch 23. August 2006, 17:35
hi leutz!
sicher gibt es hier schon tausende threads in welchen sich die idle oder was anderes aufhängt... aber da ich nichts gefunden hab, was mir dabei hilft:
wenn ich die zeile, in welcher der tag "TEXT" geändert wird, kommentiere, läufts flüssiger als wasser - wenn nicht, dann brauche ich nur mit der maus von einer kreishälfte in die andere gehen wollen und schon geht absolut nix mehr
mein code:
kann mir jemand dabei helfen?
grundprinzip:
die buttons sollten sich xp-theme- / flash-like verändern (vergrößern oder aufhellen)
dabei sollte dann gleich noch angezeigt werden, was der button an sich macht (TEXT)
danach sollte beim draufklicken eine funktion ähnlich eines buttons aufgeführt werden!
( --> alles mit .create_arc(...) )
liebe grüße und vielen dank im voraus
hannes
sicher gibt es hier schon tausende threads in welchen sich die idle oder was anderes aufhängt... aber da ich nichts gefunden hab, was mir dabei hilft:
wenn ich die zeile, in welcher der tag "TEXT" geändert wird, kommentiere, läufts flüssiger als wasser - wenn nicht, dann brauche ich nur mit der maus von einer kreishälfte in die andere gehen wollen und schon geht absolut nix mehr

mein code:
Code: Alles auswählen
from Tkinter import *
root = Tk()
cv = Canvas(root)
x1 = y1 = 20
x2 = y2 = 200
def _poschange(x):
"nimmt aenderung an sich vor"
st, ext, st2, ext2 = 0 - x, 180 + 2 * x, 180 + x, 180 - 2 * x
cv.itemconfigure("eventbutton", start = st, extent = ext)
cv.itemconfigure("terminbutton", start = st2, extent = ext2)
def _evbutton(event):
"vergroessert den orangenen halbkreis und verkleinert den blauen"
_poschange( x = 20 ) # zwanzig grad mehr
cv.itemconfigure("TEXT", text = "Event", fill = "white")
def _terbutton(event):
"vergroessert den blauen halbkreis und verkleinert den orangenen"
_poschange( x = -20 )# zwanzig grad weniger
cv.itemconfigure("TEXT", text = "Termin", fill = "black")
def _norm(event):
"stellt wieder zwei 'normale' halbkreise her"
_poschange( x = 0 ) # trennlinie = durchmesser
cv.itemconfigure("TEXT", text = "")
ko = cv.create_arc(x1,y1,x2,y2,start=0,
extent=180,outline="darkblue"
,fill="darkblue",style="chord",
tag="eventbutton")
ku = cv.create_arc(x1,y1,x2,y2,start=180,
extent=180,outline="orange",
fill="orange",style="chord",
tag="terminbutton")
la = cv.create_text( (x2-x1)/2+x1, (y2-y1)/2+y1, text = "", tag = "TEXT",
font = ("Arial", 20, "bold") )
cv.tag_bind("eventbutton","<Enter>",_evbutton)
cv.tag_bind("terminbutton","<Enter>",_terbutton)
cv.tag_bind("eventbutton","<Leave>",_norm)
cv.tag_bind("terminbutton","<Leave>",_norm)
cv.pack()
root.mainloop()
grundprinzip:
die buttons sollten sich xp-theme- / flash-like verändern (vergrößern oder aufhellen)
dabei sollte dann gleich noch angezeigt werden, was der button an sich macht (TEXT)
danach sollte beim draufklicken eine funktion ähnlich eines buttons aufgeführt werden!
( --> alles mit .create_arc(...) )
liebe grüße und vielen dank im voraus
hannes