Entry in Textwidget ausrichten
Verfasst: Montag 7. Juli 2008, 10:46
Hallo,
hier ist ein Beispielcode von Michael,
kennt jm eine Möglichleit, wie ich das Entry innerhalb des Text-widges auf die rechte Seite bekomme? Also rechtsbündig.
Es soll dann so aussehen, dass "Name" links am Rand steht, und das Entry mit "Ballack" drin rechts am Rand steht?
hier ist ein Beispielcode von Michael,
Code: Alles auswählen
import Tkinter as tk
root = tk.Tk()
# Textwidget statt Canvas, das kann mehr als man denkt
text = tk.Text(root, width=60, height=20)
text.grid(row=2, column=1)
# nur die Scrollbar einfuegen
scroll_y = tk.Scrollbar(root, orient=tk.VERTICAL, command=text.yview)
scroll_y.grid(row=2, column=2, sticky=tk.NS)
# xml-Datendict und variablen-Zwischenspeicher initialisieren
xml_dict = {"Vorname":"Michael", "Nachname":"Ballack", "Position":"Mittelfeld"}
variable_dict = {}
# xml-Daten einfuellen, pro Eintrag eine tk-Variable definieren und ein
# Entry einfuegen
for tag_name, default_value in xml_dict.iteritems():
text.insert(tk.END, "%s: "%tag_name)
tk_var = tk.StringVar()
tk_var.set(default_value)
variable_dict[tag_name] = tk_var
text.window_create(tk.END, window=tk.Entry(text, width=20, textvariable=tk_var))
text.insert(tk.END, "\n")
# Scrollbalken verknuepfen und Textaenderungen unterbinden
text.config(yscrollcommand=scroll_y.set, state=tk.DISABLED)
root.mainloop()
# Ergebnisdict aus den xml-Schluesseln und den tk-Variablen ermitteln
result_dict = dict([(tag, variable_dict[tag].get()) for tag in xml_dict])
print result_dict
Es soll dann so aussehen, dass "Name" links am Rand steht, und das Entry mit "Ballack" drin rechts am Rand steht?