Also hier einmal ein kleiner Ausschnitt, allerdings etwas verändert:
Code: Alles auswählen
def einfuegen(event):
wort1 = wort2[anfang]
wort2 = " ".join(wort1[::2])
ent.insert(END, wort2)
lab = Label(root,font = ('arial %d', int(15*faktor)), bg = 'gold',text = wort[i])
lab.pack(fill = BOTH)
ent = Entry(root, bg = 'blue', font = 'arial 10')
ent.pack()
ent.bind('<Return>', einfuegen)
Mit dem Event ist das Binding gemeint.
Ich hoffe, dass ich nichts vergessen habe; ich habe manche Definitionen ausgelassen, da diese schon immer funktioniert haben (siehe faktor...)
Das Problem, das ich beschrieben habe, taucht erst nach dem Einfügen des wort2 auf!
Das Problem ist sehr kompliziert daher versuche ich es einmal sehr einfach zu beschreiben:
Ich füge also mit Return das wort2 (jeder zweite Buchstabe) in ent ein.
Soweit ist es klar. Wort2 wird ohne Probleme eingefügt.
Ich habe bevor ich wort2 mit Return eingefügt habe, den Balken im Entry gehabt (logisch, sonst würde das Bindung auch nicht gehen)
Der Mauscursor (Zeiger) befindet sich immernoch auf dem Entry, ist allerdings wie bei jedem Eingabefeld ein nicht-blinkender Balkencursor.
Doch das was jetzt passiert, wenn ich Return drücke verwundert mich und gefällt mir nicht ganz:
Der nicht-blinkende Balkencursor wird zum normalen Mauszeiger!
Der blinkende Cursor im Entry hört auf zu blinken!
Wenn ich weiterschreiben will, geht dies erst beim ZWEITEN drücken eines Knopfes, nicht wie normal beim ersten.
Drücke ich Return, so erscheint bei der oberen Taskleiste das Menü mit: Fenster minimieren, schließen, maximieren etc.!
Ich hoffe ich habe mich jetzt deutlicher ausgedrückt!
Jetzt ist mir leider noch ein zweites Problem aufgefallen:
wort1 = wort2[anfang]
wort2 = "-".join(wort1[::2])
ent.insert(END, wort2)
Derselbe Skript wie schon oben, nur mit einem - anstatt der Leerstelle.
Wenn der letzte Buchstabe nicht angezeigt werden muss, da dieser ausgelassen werden soll, wird auch kein - angezeigt.
Beispiel:
wort=hallo
wort2 =h-l-o (Das klappt, da der letzte Buchstabe angezeigt wird)
wort = text
wort2 = t-x (Hier seht ihr, dass das letzte t wird nicht mehr angezeigt)