亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 tkinter 中將中間列居中

如何在 tkinter 中將中間列居中

ITMISS 2024-01-27 14:58:50
我的問題是:輸出應該顯示 2 個側邊欄(第 0 列和第 2 列),其中包含內容標簽和條目以及一個中央窗口(第 1 列),比中間的其他側邊欄大得多。但中間的列總是出現在右側,并且作為一個非常小的框架。請幫忙。我的代碼和圖片:import tkinter as tk, tkinter.ttk as ttkroot = tk.Tk()root.title("THE FRIDGER")root.grid_columnconfigure(0, weight=1)root.grid_rowconfigure(2, weight=1)#prepared datadflt = dict(fg="white", bg="black")pads = dict(pady=4, padx=4)#header frameheader = tk.Frame(root, bg="black")header.grid(row=0, column=0, columnspan=3, sticky="nsew")for i in range(2):    header.grid_columnconfigure(i, weight=1)#header labelstk.Label(header, text="Fridge", **dflt).grid(column=0, row=0, **pads)tk.Label(header, text="Recipes", **dflt).grid(column=1, row=0, **pads)#separators = ttk.Style()s.configure('custom.TSeparator', background='blue')ttk.Separator(root, style='custom.TSeparator').grid(row=1, column=0, columnspan=3, sticky="ew")#left side contentl_content = tk.Frame(root, bg="black")l_content.grid(row=2, column=0, sticky="nsew")tk.Label(l_content, text="Content:", **dflt).grid(column=0, row=0, sticky=tk.W)l_query = tk.Entry(l_content, width=36, relief=tk.FLAT, bg = "white", fg = "black")l_query.grid(column=0, row=1, sticky=tk.W)#right side contentr_content = tk.Frame(root, bg="black")r_content.grid(row=2, column=2, sticky="nsew")tk.Label(r_content, text="Content:", **dflt).grid(column=0, row=2, sticky=tk.W)r_query = tk.Entry(r_content, width=36, relief=tk.FLAT, bg = "white", fg = "black")r_query.grid(column=0, row=3, sticky=tk.W)#middle contentm_content = tk.Frame(root, bg="white")m_content.grid(row=2, column=1, sticky="nsew")tk.Label(m_content, text="This should appear in the middle", **dflt).grid(column=0, row=2,       sticky=tk.W)m_content.grid_columnconfigure(1, weight = 1)root.mainloop()
查看完整描述

2 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

左列如此大的原因是您給它的權重為 1。如果您希望中心列占據所有額外空間,您需要給它一個正權重,而不是給第 0 列權重。

root.grid_columnconfigure(1, weight=1)


查看完整回答
反對 回復 2024-01-27
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

您設置weight=1錯誤的列:

  • root.grid_columnconfigure(0, weight=1)應該root.grid_columnconfigure(1, weight=1)

  • m_content.grid_columnconfigure(1, weight=1)應該m_content.grid_columnconfigure(0, weight=1)

sticky從以下位置刪除選項:

tk.Label(m_content, text="This should appear in the middle", **dflt).grid(column=0, row=2, sticky=tk.W)



查看完整回答
反對 回復 2024-01-27
  • 2 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號