回答編集履歴

2

現状の問題点について追記

2022/11/24 03:47

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -26,8 +26,12 @@
26
26
  また、tkinter では tkinter.Tk() のインスタンスは複数作らない方が良いです。
27
27
  イベントループが入れ子になってしまう為、これもイベントの挙動で問題になる場合があります。
28
28
  複数のウィンドウが必要な場合、2つ目以降のウィンドウには tkinter.Toplevel を使い
29
- ダイアログとして実装してください。
29
+ モール・ダイアログとして実装してください。
30
30
 
31
31
  クラスでは tkinter.Frame 上にウィジェットを配置し
32
32
  各ファイルのメイン関数で tkinter.Tk のインスタンスを作る構成にすると、
33
33
  testc から accho を利用する時には Toplevel 上に配置するダイアログの部品としてクラスを再利用できます。
34
+
35
+ 追記: 例えば現在のコードでは、click_event は複数回呼び出す事が出来てしまい、
36
+ 親ウィンドウを先に閉じるとエラーが起こります。
37
+ Toplevel を使い、モーダルダイアログとして実装すればこういった挙動を解消できます。

1

追記

2022/11/24 03:41

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -19,6 +19,8 @@
19
19
   import 時にコードが実行される為、再利用が出来ません。
20
20
  - accho.py ` if __name__ == "__main__":` 内で tk_show は未定義
21
21
   もしくはインデントが間違ってるのかもしれませんが、accho.py ファイルの単体実行できません。
22
+ - インスタンス変数 (self) が殆ど使われていないので、クラスが名前空間としてしか機能していない
23
+  本来はこれはモジュールの役割です。
22
24
 
23
25
  ----
24
26
  また、tkinter では tkinter.Tk() のインスタンスは複数作らない方が良いです。