[英]tkinter LabelFrame not attatching widgets
我遇到了一個tkinter程序的問題,我讓LabelFrame分組了一組標簽和條目,但是,它沒有對我的小部件進行分組。 我對LabelFrame的代碼如下:
(編輯:我設法顯示標簽,但是,它沒有對我的小部件進行分組。)
root=Tk()
message_frame=LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100).grid(padx=5,pady=10)
message_label=Label(message_frame,text="Message").grid(row=1,column=0,sticky=W)
pub_label=Label(message_frame,text="Public Key").grid(row=2,column=0,sticky=W)
priv_label=Label(message_frame,text="Public Key").grid(row=3,column=0,sticky=W)
message_entry=Entry(message_frame,textvariable=message,width=50).grid(row=1,column=1,sticky=W)
pub_entry=Entry(message_frame,textvariable=pub_key,width=50).grid(row=2,column=1,sticky=W)
priv_entry=Entry(message_frame,textvariable=private_key,width=50).grid(row=3,column=1,sticky=W)
給框架一些尺寸屬性:
from Tkinter import *
root = Tk()
message_frame = LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100).grid(row=0,column=0,padx=5,pady=10)
定義寬度和高度后,框架顯示正常。 如果您發布了一些框架內容,如果不是問題,可能會更清楚。
在Tkinter中,典型的工作流程是創建一個小部件,然后使用一些幾何管理器將它放在兩個單獨的行上 。
如果我沒弄錯的.grid
,Tkinter小部件上的.grid
方法返回None
。 因此,如果您在創建后立即print message_frame
,您可能會看到它是None
。 當你使用傳遞給下一個小部件時,他們假設你想把它放在根小部件上......
簡單的解決方法是執行以下操作:
message_frame=LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100)
message_frame.grid(row=0,column=0)
你可能想對所有小部件做同樣的事情,因為我懷疑你真的想要pub_label
= priv_label
= None
......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.