簡體   English   中英

tkinter LabelFrame不支持小部件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM