Jul-24-2017, 10:14 AM
(This post was last modified: Jul-24-2017, 10:14 AM by papatubies.)
how to fix cursor pos?
def atPos(atX=0,atY=0):
frame = Frame(root)
frame.place(x=atX,y=atY)
return frame
class MyEntry:
def __init__(self,parent):
self.frame = Frame(parent, width=150,height=24)
self.frame.pack_propagate(False)
self.frame.pack()
self.var = StringVar()
self.var.trace("w", self.thousandseparator)
self.vcmd = (self.frame.register(self.onValidate),'%d', '%P', '%S')
self.entry = Entry(self.frame,textvariable=self.var, validate="all", validatecommand=self.vcmd)
self.entry.pack(fill=BOTH,expand=True)
def onValidate(self, d, P, S):
if d=='1':
if S in '0123456789':
return True
else:
return False
else:
return True
def thousandseparator(self,*arg):
self.pra = self.var.get()
self.buff = self.pra.replace(',','')
if len(self.buff) > 0:
self.value = int(self.buff)
self.change = "{:,}".format(self.value)
self.var.set(self.change)
if __name__ == '__main__':
import locale
from tkinter import *
root = Tk()
root.geometry('325x120+50+50')
pos10 = atPos(15,10)
label1 = Label(pos10,text='Type Number Only').pack()
pos11 = atPos(150, 10)
entry = MyEntry(pos11)
pos20 = atPos(15,37)
label2 = Label(pos20,text='Type Number again').pack()
pos21 = atPos(150, 37)
entry = MyEntry(pos21)
pos3 = atPos(150,80)
Exit = Button(pos3,text=' Exit ',command=lambda : quit()).pack()
root.mainloop()
