> 백엔드 개발 > 파이썬 튜토리얼 > GUI를 구성하기 위해 Tkinter에서 형상을 효과적으로 관리하려면 어떻게 해야 합니까?

GUI를 구성하기 위해 Tkinter에서 형상을 효과적으로 관리하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-07 04:50:15
원래의
912명이 탐색했습니다.

How Can I Effectively Manage Geometry in Tkinter to Organize My GUI?

Tkinter - 형상 관리 기초

Tkinter에 대한 많은 질문은 오류에 관한 것이 아니라 그래픽 사용자 인터페이스를 구성하는 방법에 대해 묻습니다( GUI). 이 기사의 목적은 Tkinter의 기하학 관리에 대한 기초적인 이해를 제공하고 초보자에게 GUI 구성을 안내하는 것입니다.

최상위 창 구성

  • wm_geometry : 기본 창의 크기와 위치를 지정합니다. screen.
  • wm_minsize, wm_maxsize: 최소 또는 최대 크기 제한을 설정합니다.
  • wm_ressible: 사용자 크기 조정을 활성화 또는 비활성화합니다.
  • wm_attributes: 다음과 같은 속성을 구성합니다. topmost 또는 fullscreen.
  • pack_propagate, Grid_propagate: 하위 위젯의 요청된 너비와 높이를 무시합니다.

하위 항목 정렬

Tkinter는 하위 위젯을 정렬하기 위해 세 가지 주요 기하학 관리자를 제공합니다. 최상위 레벨 내:

  • The Packer: 상위 위젯의 가장자리 주위에 위젯을 정렬합니다.
  • The Placer: 위젯의 정확한 수정 상위 내의 크기와 위치.
  • 그리드더: 상위 위젯 내의 행과 열에 위젯을 배치합니다.

관리자별 기능

각 관리자는 고유한 기능을 제공합니다. 기능:

패커:

  • 채우기: 위젯을 가로, 세로 또는 두 방향으로 늘립니다.
  • expand: 사용 가능한 공간을 채웁니다. parent.
  • side: 위젯이 정렬되는 상위의 측면을 제어합니다.
  • anchor: 위젯을 해당 위젯 내에 배치합니다. space.

Placer:

  • relheight, relwidth: 상위 항목을 기준으로 위젯 크기를 지정합니다.
  • relx, reli: 부모 위젯을 기준으로 위젯 위치 지정 center.

Gridder:

  • columnspan, rowspan: 여러 열이나 행에 걸쳐 위젯을 확장합니다.
  • sticky: 위젯을 위젯 내에 배치합니다. cells.
  • grid_remove: 구성을 잃지 않고 위젯을 제거합니다.

사용 예

다음을 고려하세요. 세 가지를 사용하는 방법을 보여주는 예 관리자:

import tkinter as tk

root = tk.Tk()

holderframe = tk.Frame(root, bg='red')
holderframe.pack()

display = tk.Frame(holderframe, width=600, height=25, bg='green')
display2 = tk.Frame(holderframe, width=300, height=145, bg='orange')
display3 = tk.Frame(holderframe, width=300, height=300, bg='black')
display4 = tk.Frame(holderframe, width=300, height=20, bg='yellow')
display5 = tk.Frame(holderframe, bg='purple')

# Arrange using Pack within `display`
display.pack()
b = tk.Button(display, width=10, text='b')
b1 = tk.Button(display, width=10, text='b1')
l = tk.Label(display, text='My_Layout', bg='grey')
b.pack(side='left')
b1.pack(side='left')
l.pack(fill='both', expand=1)

# Arrange using Grid within `display2`
display2.grid(column=0, row=1, sticky='n')
lab = tk.Label(display2, text='test2')
lab.grid(column=0, row=0)
# ... additional labels arranged in rows and columns using grid()

# Arrange using Place for `display5`
display5.place(x=0, y=170, relwidth=0.5, height=20)

root.mainloop()
로그인 후 복사

결론

Tkinter의 기하학 관리의 기본과 각 관리자의 기능을 이해함으로써 하위 위젯을 효과적으로 구성하고 배치할 수 있습니다. 기능적이고 미학적으로 만족스러운 GUI를 만드세요.

위 내용은 GUI를 구성하기 위해 Tkinter에서 형상을 효과적으로 관리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿