パーセントを表示するプログレスバーの中央にラベルを挿入するにはどうすればよいですか? 問題は、Pythonはラベルの背景の透明度をサポートしていないので、私はそれをどのように解決できるのか分かりません。パーセントラベルのプログレスバー?
答えて
ttk.Style
を使用すると可能です。アイデアはバーの内側にラベルを追加するHorizontal.TProgressbar
スタイル(縦ProgressBarのVertical.TProgressbar
と同じことを行う)のレイアウトを変更することです:
通常Horizontal.TProgressbar
レイアウト:追加のラベル付き
[('Horizontal.Progressbar.trough',
{'children': [('Horizontal.Progressbar.pbar',
{'side': 'left', 'sticky': 'ns'})],
'sticky': 'nswe'})]
:
[('Horizontal.Progressbar.trough',
{'children': [('Horizontal.Progressbar.pbar',
{'side': 'left', 'sticky': 'ns'})],
'sticky': 'nswe'}),
('Horizontal.Progressbar.label', {'sticky': 'nswe'})]
次に、ラベルのテキストはstyle.configure
で変更できます。ここで
はコードです:[?ラベルの背景はTkinterの中で透明にするようにする方法]
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style(root)
# add label in the layout
style.layout('text.Horizontal.TProgressbar',
[('Horizontal.Progressbar.trough',
{'children': [('Horizontal.Progressbar.pbar',
{'side': 'left', 'sticky': 'ns'})],
'sticky': 'nswe'}),
('Horizontal.Progressbar.label', {'sticky': ''})])
# set initial text
style.configure('text.Horizontal.TProgressbar', text='0 %')
# create progressbar
variable = tk.DoubleVar(root)
pbar = ttk.Progressbar(root, style='text.Horizontal.TProgressbar', variable=variable)
pbar.pack()
def increment():
pbar.step() # increment progressbar
style.configure('text.Horizontal.TProgressbar',
text='{:g} %'.format(variable.get())) # update label
root.after(200, increment)
increment()
root.mainloop()
非常に良い解決策!しかし、私の側の 'TypeError:getint()引数は23行目でfloatでなくstrでなければなりませんが、' variable'の型を 'StringVar'に変更すると期待通りに動作します! – CommonSense
@CommonSenseフィードバックのおかげで、それは私のコンピュータ上でエラーを発生させない、私はプログレスバーの現在の値の形式に依存していると思う(あなたのケースではフロートのようです)。私は答えを修正します。 –
@CommonSense 'DoubleVar'で動作しますか? –
- 1. ggplot2の棒グラフにパーセントラベルを追加
- 2. プログレスバー
- 3. プログレスバー
- 4. MP3プレーヤーのプログレスバー
- 5. リストボックスのプログレスバー
- 6. FMXプログレスバーの色
- 7. プログレスバーの問題
- 8. プログレスバー+ JavaのMVC =?
- 9. PyQt4のプログレスバー
- 10. SharpBoxユーザーのプログレスバー
- 11. ロングスイングイベントディスパッチャスレッドジョブのプログレスバー
- 12. Android webviewのプログレスバー
- 13. プログレスバーの使用
- 14. ウェブページのプログレスバー
- 15. テキストメッセージのプログレスバー
- 16. rforcecom.checkbatchstatus()のプログレスバー
- 17. ダウンロード中のプログレスバー
- 18. CodeIgniterのとプログレスバー
- 19. console.logのjavascriptプログレスバー
- 20. httpUploadProgress中のプログレスバー
- 21. c#バックグラウンドワーカーのプログレスバー
- 22. ポップオーバー内のプログレスバー
- 23. プログレスバーの問題
- 24. Recyclerviewのプログレスバー
- 25. AVAssetExportSessionのプログレスバー
- 26. プログレスバーのヘルプ
- 27. リストボックスのプログレスバー?
- 28. cssプログレスバーのタブアライメント
- 29. Notify.NotificationのPyGObjectプログレスバー
- 30. プログレスバーの問題
多分役立ちます(https://stackoverflow.com/questions/30180138/how- Tkinterを使用して透過ウィジェットを作成するにはどうすればいいですか?](https://stackoverflow.com/questions/17039481/how-to-create-transparent -widgets-using-tkinter) – davedwards