Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter Python의 축소 가능한 창

<시간/>

Tkinter는 파이썬의 GUI 구축 라이브러리입니다. 이 기사에서는 접을 수 있는 창을 만드는 방법을 살펴보겠습니다. GUI 캔버스에 표시할 많은 양의 데이터가 있지만 항상 표시하고 싶지 않을 때 유용합니다. 필요할 때 표시할 수 있도록 접을 수 있습니다.

아래 프로그램은 화살표를 확장하고 축소한 후 결과를 볼 수 있는 축소 가능한 창을 만듭니다. 코드 주석은 각 단계에서 우리가 취하는 접근 방식을 나타냅니다.

예시

<예비>from tkinter import *tkinter를 tkinter로 가져오기from tkinter import ttkfrom tkinter.ttk import *class cpane(ttk.Frame):def __init__(self, MainWindow, expand_text,collapsed_text):ttk.Frame.__init__(self, MainWindow) # 클래스 변수 self.MainWindow =MainWindow self._expanded_text =expand_text self._collapsed_text =collapsed_text # 필요한 만큼 크기를 늘리려면 Weight=1 self.columnconfigure(1, weight=1) self._variable =tk.IntVar() # 체크버튼 생성 self._button =ttk.Checkbutton(self, variable=self._variable, command=self._activate, style="TButton") self._button.grid(row=0, column=0) # 수평선 생성 self._separator =ttk.Separator(self, orient="horizontal") self._separator.grid(row=0, column=1,sticky="we") self.frame =ttk.Frame(self) # 클래스 활성화 self._activate () def _activate(self):if not self._variable.get():# 버튼이 p일 때 이 위젯을 제거합니다. 옷을 입었다. self.frame.grid_forget() # 축소된 텍스트 표시 self._button.configure(text=self._collapsed_text) elif self._variable.get():# 필요에 따라 프레임 영역을 늘립니다. self.frame.grid(row=1, column =0, columnspan=2) self._button.configure(text=self._expanded_text) def toggle(self):self._variable.set(not self._variable.get()) self._activate()# 루트 창 생성 또는 MainWindowroot =Tk()root.geometry('300x300')# 접을 수 있는 창의 개체 만들기 Containercpane_obj =cpane(root, 'Close Me', 'Open Me!')cpane_obj.grid(row=0, column=0)# Buttons # 접을 수 있는 창에 나타납니다. =Button(cpane_obj.frame, text=" Frame Expanded").grid( row=1, column=2, pady=20)b =Checkbutton(cpane_obj.frame, text="안녕하세요! 방법 하고 계신가요?").grid( row=3, column=4, pady=20)mainloop()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Tkinter Python의 축소 가능한 창

Tkinter Python의 축소 가능한 창