在我的GUI中,我有很多Entry框。他们中的大多数用于大量,我想使用逗号分离。使用我的代码我能够这样做,但光标自动向右移动。自动插入逗号时。如何将此光标固定在最右侧,或者有任何改变我的代码的建议。
from tkinter import *
import locale
root = Tk()
a = StringVar()
b = Entry(root, textvariable = a, justify = RIGHT).pack()
def secod(*events):
ray = a.get()
raym = ray.replace(",",'')
raymond = int(raym)
try:
asd = format(raymond,',')
except:
print("b")
a.set(asd)
a.trace('w',secod)
root.mainloop()
答案 0 :(得分:1)
问题是修改Entrybox的textvariable不会自动更新其光标位置。相反,您可以执行以下操作:
首先,将条目框创建与其对齐分开(请参阅here):
b = Entry(root, textvariable = a, justify = RIGHT)
b.pack()
然后在您的观察者回调中,使用小部件自己的方法修改Entrybox的内容:
def secod(*events):
ray = a.get()
raym = ray.replace(",",'')
raymond = int(raym)
try:
asd = format(raymond,',')
except:
print("b")
# Overwrite the Entrybox content using the widget's own methods
b.delete(0, END)
b.insert(0, asd)