codemy.comから例をコピーしました。https://www.youtube.com/watch?v=Grbx15jRjQA
プログラムを実行すると、バーとボタンが表示されます。しかし、ボタンをクリックしてプログレスバーをインクリメントすると、このエラーが発生します。
TypeError: 'NoneType'オブジェクトは添え字化できません
誰かがこのエラーを修正するのを手伝ってもらえますか?
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Test bar")
root.geometry("600x400")
def step():
my_progress["value"] += 20
my_progress = ttk.Progressbar(
root, orient=HORIZONTAL, length=300, mode='determinate').pack(pady=20)
my_button = Button(root, text="Progress", command=step).pack(pady=20)
root.mainloop()
私はttk.progressbarに精通していないので、私の調査は網羅的ではありませんでしたが、値にアクセスしようとしている方法を見つけることができませんでした。そのための最善の方法は、プログレスバーの進行状況を保存するIntVar()を作成し、それをプログレスバーに割り当てることだと思います。
progress = IntVar()
def step():
progress.set(progress.get() + 20)
my_progress = ttk.Progressbar(
root, orient=HORIZONTAL, length=300, mode='determinate', variable=progress).pack(pady=20)
setメソッドを使用してIntVarの値を変更すると、進行状況が自動的に更新されます。自分でテストしたところ、機能しました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加