UFO ET IT

Python Tkinter 루트 창을 어떻게 제거합니까?

ufoet 2021. 1. 7. 08:21
반응형

Python Tkinter 루트 창을 어떻게 제거합니까?


에 의해 열리는 루트 창을 숨기거나 다른 방법으로 제거하는 현명한 방법을 알고 Tk()있습니까? 일반 대화를 사용하고 싶습니다.

대화 상자를 건너 뛰고 모든 구성 요소를 루트 창에 넣어야합니까? 가능하거나 바람직합니까? 아니면 더 스마트 한 솔루션이 있습니까?


아마도 대부분의 tk 기반 응용 프로그램은 모든 구성 요소를 기본 루트 창에 배치합니다. 이것은 이미 존재하기 때문에 가장 편리한 방법입니다. 기본 창을 숨기고 자신 만의 창을 만드는 것은 아주 좋은 일이지만 약간의 추가 작업이 필요합니다.

숨기는 방법에 대한 구체적인 질문에 답하려면 루트 창의 withdraw 방법을 사용하십시오 .

import Tkinter as tk
root = tk.Tk()
root.withdraw()

다시 볼 수 창을 확인하려면 전화 deiconify을 방법 (또는 wm_deiconify).

root.deiconify()

대화를 마치면 destroy 메소드를 사용하여 다른 모든 tkinter 위젯과 함께 루트 창을 삭제할 수 있습니다 .

root.destroy()

Python / TKinter 환경이 없기 때문에 테스트하지 않았지만 시도해보십시오.

순수 Tk에는 창을 관리하는 "wm"이라는 메서드가 있습니다. 여기에서 "wm withdraw .mywindow"와 같이 할 수 있습니다. 여기서 '.mywindow'는 최상위입니다.

TkInter에서 다음과 유사한 작업을 수행 할 수 있어야합니다.

root = Tkinter.Tk()
root.withdraw() # won't need this

다시 볼 수 창을 확인하려면 전화 deiconify을 방법 (또는 wm_deiconify).

root.deiconify()

OSX에서 iconify가 더 잘 작동하는 것 같습니다.

root = Tkinter.Tk()
root.iconify()

창이 생성 될 때 "깜박임"이 발생하지 않도록하려면 다음과 같은 약간의 변형을 사용하십시오.

import Tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.withdraw()

Python 3.0 이상의 경우 창을 숨기려면 다음을 작성해야합니다.

import tkinter
tkinter.Tk().withdraw()

참조 URL : https://stackoverflow.com/questions/1406145/how-do-i-get-rid-of-python-tkinter-root-window

반응형