以下のコードは JSONデータ(変数)をブックに出力するためのコードです。
TkInterのプログレスバーを 上記で言及しているデータ行が出力される都度 進行させることを達成したいです。
ネット上に紹介されたプログレスバーの記事は
スタートボタンを押して進行を開始して、別のストップボタンが押されるまで進行を維持する例をよくみかけるのですが
自分が今回達成したい 課題に どう置き換えればよいか 考え方が分かりません。
尚、現況以下のとおりですが、全くプログレスバーの進行が現れません。
update()みたいな ことが必要なのでしょうか??
Python
1prbar_int = math.ceil(100 / len(output_data)) 2 3# 値書き込み 4for row, dic in enumerate(output_data): 5 for i, keyname in enumerate(header): 6 if keyname in dic.keys(): 7 8 # 辞書の値をエクセルに書き込む 9 newws.cell(row=row+2, column=i+1).value = dic[keyname] 10 11 self.prbar1.start(interval=prbar_int) #★★★行単位に進行??★★★ 12 13# ブックを保存 14newwb.save(fname) 15self.prbar1.stop() #★★★行単位に進行??★★★
よろしくお願いします。
20200629 1809追記(自己解決)
python
1self.prbar1["maximum"] = len(output_data) 2 3# 値書き込み 4for row, dic in enumerate(output_data): 5 for i, keyname in enumerate(header): 6 if keyname in dic.keys(): 7 8 # 書式設定を文字列に 9 #if keyname in strcolumns: 10 #newws.cell(row=row+2, column=i+1).number_format = '@' 11 12 # 辞書の値をエクセルに書き込む 13 newws.cell(row=row+2, column=i+1).value = dic[keyname] 14 15 self.prbar1["value"] = row 16 self.update() 17# ブックを保存 18newwb.save(fname) 19 20tkmb.showinfo("Result","Finished converting !", parent=self.this) 21self.dialog.grab_set() 22
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。