首頁 >後端開發 >Python教學 >如何在 Tkinter GUI 應用程式中有效管理幾何圖形?

如何在 Tkinter GUI 應用程式中有效管理幾何圖形?

Linda Hamilton
Linda Hamilton原創
2024-12-05 11:48:10765瀏覽

How Can I Effectively Manage Geometry in Tkinter GUI Applications?

Tkinter - 幾何管理

簡介

有關 Tkinter 的許多問題都集中在組織 GUI 而不是錯誤解決。本文旨在為初學者提供 Tkinter 幾何管理系統的全面概述。

基本概念

Tkinter的幾何管理有以下原則:

A頂級視窗以其自然大小顯示在螢幕上,由其小部件和幾何形狀決定

頂層

頂層的關鍵考慮因素:

  • wm_geometry:的大小和位置這screen
  • wm_minsizewm_maxsize: 最小和最大邊界
  • wmressized:
  • wm_attributes: 屬性,例如 topmost 或 fullscreen
  • pack_propagate

    安排孩子

用於安排孩子的幾何管理器:

    Packer:
  • 將孩子安排在主人的邊緣小部件。

    通常用於快速並排組織一些小部件。

  • Placer:
  • 指定主視窗內子項的確切大小和位置。

    適合一張應用程式或設定背景影像。

  • 網格器:
  • 在主視窗中按行和列排列子項。

    非常適合具有多個的更複雜的應用程式

  • 重要提示:
切勿在同一個主視窗中混合網格和套件。

最重要功能

打包機:

填充:
    水平、垂直或兩者都拉伸從屬設備。
  • expand:
  • 擴展奴隸以消耗額外的
  • side:
  • 指定從屬設備將被打包到主設備的哪一側。
  • anchor:
  • 將每個從屬設備放置在其內部
  • Placer:

Placer:

  • relheight:
  • 設定相對於母版的高度。
  • relwidth:
  • 設定相對於master.
  • relx:
  • 相對於 master 定位從屬的左邊緣。

rely: 相對於 master 定位從屬的上緣大師。

網格:
  • columnspan: 佔據網格中的多列。
  • rowspan: 佔據網格中的多行。
  • sticky: 在其內部定位或拉伸從屬設備
  • grid_remove:從視窗中刪除設定選項。

文件和範例:

請參閱為了更深入的理解,請參閱 Tkinter 官方文件和下面提供的範例。

import tkinter as tk

# Create a root window
root = tk.Tk()

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

# Top display
display = tk.Frame(holderframe, width=600, height=25, bg='green')
display.grid(column=0, row=0, columnspan=3)
display.pack_propagate(0)

# Left-side widgets
b = tk.Button(display, width=10, text='b')
b.pack(side='left')
b1 = tk.Button(display, width=10, text='b1')
b1.pack(side='left')

# Right-side widget
b2 = tk.Button(display, width=20, text='b2')
b2.pack(side='right')

# Center widget with filling and expansion
l = tk.Label(display, text='My_Layout', bg='grey')
l.pack(fill='both', expand=1)

# Other frames and widgets
# ...

# Main loop
root.mainloop()

以上是如何在 Tkinter GUI 應用程式中有效管理幾何圖形?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn