、Tkinterのルートウィンドウが表示されません。Tkinterの.withdraw()奇妙な行動
def main():
root = Tkinter.Tk()
root.iconify()
a = open(tkFileDialog.askopenfilename(), 'r')
main()
しかし、この変化を使用して、ルートウィンドウが隠されることはありません。
class Comparison:
def __init__(self, file=open(tkFileDialog.askopenfilename(),'r')):
self.file = file
self.length = sum(1 for _ in self.file)
def main():
root = Tkinter.Tk()
root.iconify()
a = Comparison()
main()
コンストラクタを呼び出すとtkFileDialog.askopenfilename
がこの動作を引き起こすのはなぜですか?私はroot.withdraw()
とroot.iconify()
の両方を試してみて、同じ動作を経験しました。
私はOSX 10.11.6を使用しています。
ありがとうございます!関数が定義されている場合、デフォルトの引数が評価されるためはすぐは、open(tkFileDialog.askopenfilename(),'r')
を実行することを
def __init__(self, file=open(tkFileDialog.askopenfilename(),'r')):
:
偉大な説明と、本当に便利な、感謝を! –