質問編集履歴
3
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -216,4 +216,42 @@
|
|
216
216
|
Python 3.10.4で実行しています
|
217
217
|
ライブラリはpywin32です
|
218
218
|
|
219
|
-
|
219
|
+
### 追記
|
220
|
+
rust製のインタプリタ言語「UWSCR」での挙動
|
221
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-12-22/604bfdbf-7954-4a06-af9e-3b6f628170ac.gif)
|
222
|
+
UWSCRソースコード
|
223
|
+
```UWSCR
|
224
|
+
FUNCTION GETSTATE()
|
225
|
+
x=G_MOUSE_X
|
226
|
+
y=G_MOUSE_Y
|
227
|
+
s="マウス座標:" + x + "," + y
|
228
|
+
result=s
|
229
|
+
FEND
|
230
|
+
|
231
|
+
WHILE True
|
232
|
+
s = GETSTATE()
|
233
|
+
balloon(s, 10, 10)
|
234
|
+
Sleep(0.01)
|
235
|
+
WEND
|
236
|
+
```
|
237
|
+
|
238
|
+
上記についてTkinterで再現できました、今のところ問題ありません
|
239
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-12-22/cfb35254-41e1-40b5-865e-66a3a4e3e127.gif)
|
240
|
+
※balloon.pyのソースコードは省略
|
241
|
+
```Python
|
242
|
+
from balloon import *
|
243
|
+
import time
|
244
|
+
import pyautogui
|
245
|
+
|
246
|
+
|
247
|
+
def getstate():
|
248
|
+
x,y =pyautogui.position()
|
249
|
+
s=f"マウス座標:{x},{y}"
|
250
|
+
return s
|
251
|
+
|
252
|
+
while True:
|
253
|
+
s=getstate()
|
254
|
+
balloon(s,10,10)
|
255
|
+
time.sleep(0.01)
|
256
|
+
```
|
257
|
+
|
2
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-12-18/41069cd0-e6c7-4fc4-b4d2-922476354f23.gif)
|
29
29
|
|
30
|
-
### 該当のソースコード
|
30
|
+
### 該当のソースコード ※12/21追記
|
31
31
|
|
32
32
|
```Python
|
33
33
|
import win32gui
|
@@ -170,6 +170,7 @@
|
|
170
170
|
win32gui.DestroyWindow(self.hwnd)
|
171
171
|
|
172
172
|
import time
|
173
|
+
win32gui.PumpWaitingMessages()
|
173
174
|
|
174
175
|
# 初期バルーン
|
175
176
|
balloon = Balloon(
|
@@ -182,20 +183,22 @@
|
|
182
183
|
back_color=0xFFFF00,
|
183
184
|
transparency=200
|
184
185
|
)
|
185
|
-
|
186
|
+
win32gui.PumpWaitingMessages()
|
186
187
|
time.sleep(3)
|
187
188
|
|
188
189
|
# 内容と位置を更新
|
189
190
|
balloon.update(message="Updated Content!", x=500, y=300)
|
190
|
-
|
191
|
+
win32gui.PumpWaitingMessages()
|
191
192
|
time.sleep(3)
|
192
193
|
|
193
194
|
# さらに更新
|
194
195
|
balloon.update(message="Final Update!")
|
196
|
+
win32gui.PumpWaitingMessages()
|
195
197
|
time.sleep(3)
|
196
198
|
|
197
199
|
# 終了
|
198
200
|
balloon.destroy()
|
201
|
+
|
199
202
|
|
200
203
|
```
|
201
204
|
|
@@ -212,3 +215,5 @@
|
|
212
215
|
### 補足
|
213
216
|
Python 3.10.4で実行しています
|
214
217
|
ライブラリはpywin32です
|
218
|
+
|
219
|
+
|
1
再現動画をgifで載せました
test
CHANGED
File without changes
|
test
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
なぜ、1回目のupdateではウィンドウが非アクティブでも正常に更新されるのに2回目以降は表示が乱れるのですか?
|
26
26
|
どうやったら問題を解決できますか?
|
27
27
|
|
28
|
-
|
28
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-12-18/41069cd0-e6c7-4fc4-b4d2-922476354f23.gif)
|
29
29
|
|
30
30
|
### 該当のソースコード
|
31
31
|
|