回答編集履歴

2

2024/08/21 10:40

投稿

melian
melian

スコア20710

test CHANGED
@@ -44,3 +44,25 @@
44
44
 
45
45
  window.close()
46
46
  ```
47
+
48
+ ### 追記
49
+
50
+ `sg.popup()` に `non_bloking=True` を指定する方法もあります。
51
+
52
+ [Popup non blocking - PySimpleGUI Documentation](https://docs.pysimplegui.com/en/latest/call_reference/tkinter/popups/popup_non_blocking/)
53
+
54
+ | Name | Type | Default | Description |
55
+ | :--- | :---: | :---: | :--- |
56
+ | non_blocking| bool | True | if True the call will **immediately return rather than waiting on user input** |
57
+
58
+ ```python
59
+ def on_right_click(event):
60
+ # Calculate the mouse click position
61
+ mouse_x = event.x
62
+ mouse_y = event.y
63
+ sg.popup(f'Right-click detected at ({mouse_x}, {mouse_y})', non_blocking=True)
64
+ ```
65
+
66
+ ですが、この場合 `OK` ボタンを押さないで右クリックを行うと、複数のポップアップウィンドウが表示されたままの状態になります。
67
+
68
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-08-21/9fadb9bd-da12-4062-b650-cb430d19aa80.png)

1

2024/08/21 07:46

投稿

melian
melian

スコア20710

test CHANGED
@@ -37,6 +37,7 @@
37
37
 
38
38
  if event == 'Popup':
39
39
  popup_window(values[event])
40
+ continue
40
41
 
41
42
  if event == sg.WIN_CLOSED: # Close the window if the user closes it
42
43
  break