Tips的に色々

仕事から趣味に至るまで徒然なるままに

PythonでWindowを表示させる方法の考察(tkinterdnd2編)

2023-09-10 18:55:16 | プログラミング
一番良く見るパターンがこれ。

    from tkinter import *
    from tkinterdnd2 import *

    root = TkinterDnD.Tk()
    (略)

    root.mainloop()

関数もクラスも使わず手続き型言語のようにグローバルに記述。
オブジェクト指向も何もあったもんじゃない。

次に多いのがこれ。

    from tkinter import * 
    from tkinterdnd2 import *

    class App(TkinterDnD.Tk):
        def __init__(self):
            super().__init__()
            (略)

    if __name__ == "__main__":
        root = App()
        root.mainloop()

オブジェクト指向にはなっているけどクラスの必然性皆無。

さて、それじゃmain関数を実装……ルーチンが開始できない笑

折衷案としてこれはどうだろう?

    from tkinter import *
    from tkinterdnd2 import *

    def main():
        root = TkinterDnD.Tk()
        window_setting(root)
        root.mainloop()

    def window_setting(root):
        (略)

    if __name__ == "__main__":
        main()

本体はif文なんだけど、苦肉の策としてmain関数を作り出してみた。
これだとmainloopの前後もmain関数に書けるから可読性上がらないかな?

とりあえずしばらくはこの記法で行ってみようと思う。

--------
tsutaya0225あっとgmail.com