動的に変化する数字を表示するtkinterで数字のブレを無くしたい
スタートボタンを押せばストップウォッチのようにカウントをするプログラムを作ったのですが、実行してしばらくすると、数字の横幅の長さの関係上、表示される数字がぶれてしまいます
該当のソースコード
python3
1import time 2import tkinter as tk 3import tkinter.font as font 4import threading 5 6class Test(tk.Frame): 7 def __init__(self, master=None): 8 super().__init__(master) 9 self.stop_fg=False 10 self.frame=0.00 11 self.time_start=None 12 self.time_now=None 13 self.GUI() 14 15 def GUI(self): 16 self.Text001=tk.Label(text=self.frame) 17 self.Text001.grid(column=0,row=0) 18 Text001=tk.Label(text="sec") 19 Text001.grid(column=1,row=0) 20 Button001=tk.Button(text="Start",command=self.on_start) 21 Button001.grid(column=0,row=1) 22 Button002=tk.Button(text="Stop",command=self.on_stop) 23 Button002.grid(column=1,row=1) 24 Button002=tk.Button(text="Reset",command=self.on_reset) 25 Button002.grid(column=2,row=1) 26 27 def run(self): 28 self.stop_fg=False 29 if self.time_start==None: 30 self.time_start=time.time() 31 32 while self.stop_fg!=True: 33 self.time_now=time.time() 34 self.frame=round((self.time_now-self.time_start),2) 35 #print(self.frame) 36 self.Text001["text"]=self.frame 37 38 def on_start(self): 39 threading.Thread(target=self.run).start() 40 41 def on_stop(self): 42 self.stop_fg=True 43 44 def on_reset(self): 45 self.on_stop() 46 self.time_start=None 47 self.time_now=None 48 self.frame=0.00 49 self.Text001["text"]=self.frame 50 51 52root=tk.Tk() 53app=Test(master=root) 54app.mainloop()
試したこと
フォントを使えば解決できるかも!と思って手あたり次第様々なフォントを試したのですが、結局数字がぶれてしまい・・・どうにかして数字がぶれないようにする方法はないでしょうか?
時間を表示するwidgetはどうしてもgridで配置したいので、gridを使ってブレを解消できる方法があればぜひ教えてくださいー!お願いします!

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/28 15:08
2018/09/28 15:37
2018/09/28 15:45 編集
2018/09/28 15:45
2018/09/28 15:46
2018/09/28 15:51
2018/09/28 17:16
2018/09/28 22:42