回答編集履歴
1
コメントを受けて追記
test
CHANGED
@@ -5,3 +5,47 @@
|
|
5
5
|
|
6
6
|
after_cancel()したい理由はよくわかりませんでした。
|
7
7
|
|
8
|
+
---
|
9
|
+
追記
|
10
|
+
|
11
|
+
コメントいただいたので、コードちょっと読んでみました。
|
12
|
+
前の回答はちょっとまとを外していましたね。
|
13
|
+
|
14
|
+
2重ループになるので、部屋番号と窓番号を別のafterループ(と言うのか)で制御しようとしていたのですね。
|
15
|
+
窓を1つずつ進んで、1部屋終れば次の部屋でよければ、1つだけで足りると思います。
|
16
|
+
roomNoと windowNoを両方制御すればいいはずです。
|
17
|
+
|
18
|
+
```python
|
19
|
+
def select_room_window(self):
|
20
|
+
|
21
|
+
#数値設定
|
22
|
+
global roomNo
|
23
|
+
global windowNo
|
24
|
+
global after_id
|
25
|
+
|
26
|
+
|
27
|
+
if windowNo >= WINNUM_ARRAY[int(roomNo)-1]:
|
28
|
+
#最大窓番号 になったら次の部屋に移る
|
29
|
+
windowNo = 1
|
30
|
+
roomNo += 1
|
31
|
+
#最大部屋番号 になったら最初の部屋に移る
|
32
|
+
if roomNo >= len(WINNUM_ARRAY):
|
33
|
+
roomNo = 1
|
34
|
+
else:
|
35
|
+
# 次の窓に移る
|
36
|
+
windowNo += 1
|
37
|
+
|
38
|
+
after_id = self.lblClock_hms.after(MAX_SEC, self.select_room_window)
|
39
|
+
|
40
|
+
|
41
|
+
#再描画
|
42
|
+
self.lblwindow_control_caption.destroy()
|
43
|
+
self.lblwindow_control_caption = customtkinter.CTkLabel(self.window_control_frame, text=str(roomNo)+"号室 No."+str(windowNo)+" 制御中")
|
44
|
+
self.lblwindow_control_caption.grid(row=0, column=0, padx=10, pady=(0, 0), sticky="nw",columnspan=2)
|
45
|
+
|
46
|
+
#デバッグ用
|
47
|
+
print(f"部屋番号:{roomNo},窓番号:{windowNo}")
|
48
|
+
```
|
49
|
+
|
50
|
+
この関数1つだけで窓と部屋を回しています。
|
51
|
+
after_idは残していますが使っていません。
|