私の GUI には、たくさんの入力ボックスがあります。それらのほとんどは大きな数に使用され、コンマ区切りを使用したいと思います。私のコードを使用して実行できますが、カーソルは自動的に右に移動します。カンマが自動的に挿入される場合。このカーソルを右端に固定する方法、またはコードを変更する提案があります。
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()
問題は、Entrybox の textvariable を変更しても、カーソル位置が自動的に更新されないことです。代わりに、次のことができます。
まず、入力ボックスの作成をその配置から分離します (ここを参照):
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)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加