パーセントを表示するプログレスバーの中央にラベルを挿入するにはどうすればよいですか? 問題は、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. geom_col、ggplot2のnとパーセントラベル
- 2. ggplot2の棒グラフにパーセントラベルを追加
- 3. 積み重ね棒グラフにパーセントラベルを追加するggplot2
- 4. プログレスバー
- 5. プログレスバー
- 6. プログレスバー
- 7. Android webviewのプログレスバー
- 8. jQueryポストのプログレスバー
- 9. プログレスバーのヘルプ
- 10. プログレスバーの使用
- 11. リストボックスのプログレスバー
- 12. プログレスバー+ JavaのMVC =?
- 13. プログレスバーの問題
- 14. プログレスバーの問題
- 15. httpUploadProgress中のプログレスバー
- 16. PyQt4のプログレスバー
- 17. ロードスクリプトのAJAXプログレスバー
- 18. ストアドプロシージャのプログレスバー
- 19. MP3プレーヤーのプログレスバー
- 20. SharpBoxユーザーのプログレスバー
- 21. ロングスイングイベントディスパッチャスレッドジョブのプログレスバー
- 22. Jqueryのプログレスバー
- 23. FMXプログレスバーの色
- 24. python cursesのプログレスバー
- 25. ポップオーバー内のプログレスバー
- 26. Notify.NotificationのPyGObjectプログレスバー
- 27. PowerShellのプログレスバー
- 28. AVAssetExportSessionのプログレスバー
- 29. カスタムリストのプログレスバー
- 30. console.logのjavascriptプログレスバー
多分役立ちます(https://stackoverflow.com/questions/30180138/how- Tkinterを使用して透過ウィジェットを作成するにはどうすればいいですか?](https://stackoverflow.com/questions/17039481/how-to-create-transparent -widgets-using-tkinter) – davedwards