我現在正在與 Tkinter 斗爭。我想創建布局,但如果我定義視窗尺寸(800x600)并創建也必須寬 800 的框架,它只有一半。
我嘗試使用谷歌搜索和更改代碼,如果我將寬度乘以 2 倍(到 1600)然后框架完全適合螢屏。
這是代碼:
import tkinter as tk
SW, SH = 800, 600
win = tk.Tk()
win.geometry(f"{SW}x{SH}")
frm_appname = tk.Frame(
master = win,
bg = 'red'
)
frm_appname.place(
anchor = tk.N,
width = 800,
relheight = (1/6)
)
這是輸出:

誰能解釋一下這里發生了什么?
uj5u.com熱心網友回復:
“n”(tk.N)的錨表示框架的頂部中心部分位于給定坐標處。由于您沒有為其提供 x 和 y 坐標,place因此默認為 0,0。因此,框架的頂部/中間 (400,0) 位于坐標 0,0。
如果將錨點設定為 "n" 或tk.NW,則框架的左上角將位于視窗的左上角。
在不相關的說明中,經驗??告訴我,使用pack和/或創建布局幾乎總是更容易grid。在我使用 tk 和 tkinter 的幾十年里,我從來沒有使用place過超過一兩個特殊情況的小部件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/407822.html
標籤:
