tkinter の aa フレームに埋め込まれた pygame ウィンドウがあります。別のフレームには、クリックすると次の関数を呼び出すボタンがあります。
def setStart():
global start
# set start position
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONUP:
start = event.pos
print("start",start)
break
ボタンがクリックされた後、ユーザーがpygameサーフェスでクリックした場所の位置をプログラムが出力することを意図しています。ただし、ボタンの最初のクリックと次の pygame サーフェスのクリックでは、出力はありません。Python が次のような出力を出力するのは、pygame サーフェスで対応する 2 回目のクリックの前にボタンを2 回クリックしたときです。
('開始', (166, 115))
pygame サーフェスをクリックした直後に結果を得るにはどうすればよいですか? 私は2つの別々のtkinterとpygameウィンドウを持っていたときに同じ問題を抱えていたので、tkinterへのpygameの埋め込みが問題の原因になる可能性は低いです。
編集:さらにテストした後、ボタンが押されてからpygameサーフェスが複数回クリックされた場合、ボタンを2回クリックすると、これらすべてのクリックの座標がバッチとして出力されるようです。