あなたのコードには、いくつか問題があり、最初に指摘されるエラーを直しても次のエラーが表示されます。おそらく、インデントを復元すると、こういうコードですね。
Python
1import tkinter as tk
2
3def dispLabel():
4 lbl.configure(text=("こんにちは")
5
6root = tk.Tk()
7root.geometry("200×100")
8
9lbl = tk.Label(text="LABEL")
10btn = tk.Button(text="PUSH",command = dispLabel)
11
12lbl.pack()
13btn.pack()
14tk.mainloop()
4行目の丸カッコの対応が取れていない
4行目の閉じ丸カッコが一つ足りません。そのことが判明するのが6行目なので、エラーメッセージや波線は6行目を対象として表示されます。
なお、text=
で設定する文字列がひとつだけなら丸カッコで囲む必要はないので、
diff
1- lbl.configure(text=("こんにちは")
2+ lbl.configure(text="こんにちは")
のように、text=
の直後の(
を削除すればいいでしょう。
root.geometry
では、小文字のエックスを使う
7行目で、ルートウィンドウの大きさを指定するために"200×100"
を引数に指定しています。表示するフォントによってはわかりにくいのですが、200と100の間にある記号は U+00D7 (Multiplication Sign)、いわゆる掛け算の×印です。
root.geomerty
の引数には、(歴史的な事情により)掛け算記号ではなく、形がよく似たx
(小文字のエックス)を使います。
diff
1-root.geometry("200×100")
2+root.geometry("200x100")
以上の点を修正すると、コードは動くようになり、ボタンを押したときの動作も、あなたの想定している通りになるでしょう。
なお、(エラーではありませんが)Flake8に指摘された点としては、
command=dispLabel
のように、オプション引数と値は=
の両側に空白を空けずに書いたほうがいい。
disp_label
のように、関数名には大文字を使わないほうがいい。
というのもあります。