回答編集履歴
2
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
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
|