質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3631閲覧

tkinter.TclError:不正なイベントタイプまたはkeysym "keyRelease の解決方法がわかりません。

TakeshiSaito

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/28 02:00

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

Traceback

1 File "C:/Users/takec/OneDrive/デスクトップ/python10/python_game/chapter8/list0803_3.py", line 29, in <module> 2 root.bind("<keyRelease>",key_up) 3 File "C:\Users\takec\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1421, in bind 4 return self._bind(('bind', self._w), sequence, func, add) 5 File "C:\Users\takec\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1375, in _bind 6 self.tk.call(what + (sequence, cmd)) 7_tkinter.TclError: bad event type or keysym "keyRelease" 8 9

該当のソースコード

python

1ソースコード 2```import tkinter 3 4key="" 5def key_down(e): 6 global key 7 key=e.keysym 8def key_up(e): 9 global key 10 key="" 11 12cx=400 13cy=300 14def main_proc(): 15 global cx,cy 16 if key=="Up": 17 cy=cy-20 18 if key=="Down": 19 cy=cy+20 20 if key=="Left": 21 key=cx-20 22 if key=="Right": 23 cx=cx+20 24 canvas.coords("MYCHR",cx,cy) 25 root.after(100,main_proc) 26 27root=tkinter.Tk() 28root.title("キャラクターの移動") 29root.bind("<KeyPress>",key_down) 30root.bind("<keyRelease>",key_up) 31canvas=tkinter.Canvas(width=800,height=600,bg="lightgreen") 32canvas.pack() 33img=tkinter.PhotoImage(file="mini.png") 34canvas.create_image(cx,cy,image=img,tag="MYCHR") 35main_proc() 36root.mainloop() 37 38 39### 試したこと 40 41ここに問題に対して試したことを記載してください。 42記述ミスがないか検証した。 43### 補足情報(FW/ツールのバージョンなど) 44 45ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

スペルミス。

python

1root.bind("<keyRelease>", key_up) 2# => 3root.bind("<KeyRelease>", key_up)

key が足りません。

python

1def main_proc(): 2 global cx,cy 3# => 4def main_proc(): 5 global cx,cy,key

こちらもスペルミス?

python

1 if key=="Left": 2 key=cx-20 3# => 4 if key=="Left": 5 cx=cx-20

投稿2021/11/28 05:15

melian

総合スコア19803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakeshiSaito

2021/12/01 01:21

ありがとうございました。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問