teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード修正

2020/04/07 23:32

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -25,13 +25,14 @@
25
25
  self.window が不要であれば、以下の様にもできます
26
26
  ```python
27
27
  def buttonClick1(self):
28
- user = User1(tk.Toplevel(self.master), len(self.user))
28
+ user = User1(tk.Toplevel(), len(self.user))
29
29
  self.user.append(user)
30
30
  ```
31
31
 
32
32
  ----
33
33
  気になった点: ウィンドウを閉じても self.window, self.user に蓄積されていく。
34
34
  tkinter側のデータは解放されますが、Python側に無効なオブジェクトが残ります。
35
+ また、ウィンドウを同時に複数開けるのは問題ないのでしょうか。
35
36
 
36
37
  現状のコードでは、未使用の変数のようですが、
37
38
  User1 に引数 `num` が必要なら、数値のカウンターにした方が良いです。
@@ -42,7 +43,7 @@
42
43
 
43
44
  def buttonClick1(self):
44
45
  self.count += 1
45
- top = tk.Toplevel(self.master)
46
+ top = tk.Toplevel()
46
47
  user = User1(top, self.count)
47
48
  ```
48
49
 
@@ -52,5 +53,5 @@
52
53
  # User1 の引数の num を取り除いて
53
54
 
54
55
  def buttonClick1(self):
55
- User1(tk.Toplevel(self.master))
56
+ User1(tk.Toplevel())
56
57
  ```