[英]tkinter frame border not displaying
我希望顯示包含多個小部件的框架的邊框,但是盡管將寬度設置為邊框並將 SUNKEN 值設置為浮雕,但沒有顯示邊框
它在空框架上工作得很好,所以我猜它不適用於有孩子的框架,這是正確的嗎?
我怎么能做到呢? 或者至少在我的界面的兩個區域之間引入分離
測試代碼:
import tkinter as Tk
class Application(Tk.Frame):
def __init__(self, **kwargs):
#Create window
self.root = Tk.Tk()
#Init master frame
Tk.Frame.__init__(self,self.root,width=640, height=480)
self.grid()
#Frame
self.frame_com_ports = COM_Frame(self,borderwidth=5,relief=Tk.GROOVE)
self.frame_com_ports.grid(column=0,row=0,sticky='EW')
#Some other frames here...
class COM_Frame(Tk.Frame):
def __init__(self,parent, **kwargs):
Tk.Frame.__init__(self,parent)
#Widgets
self.txt_ports = Tk.Label(self,text="WIDGET1")
self.txt_ports.grid(column=0,row=0,sticky='EW',pady=3,padx=3)
self.txt_ports = Tk.Label(self,text="WIDGET2")
self.txt_ports.grid(column=0,row=1,sticky='EW',pady=3,padx=3)
if __name__ == "__main__":
app = Application()
app.mainloop()
框架的默認浮雕是 tk.FLAT,這意味着框架將與周圍環境融為一體。 要在框架周圍放置邊框,請將其邊框寬度設置為正值,並將其浮雕設置為標准浮雕類型之一。
您將borderwidth 和relief 傳遞給COM_Frame 構造函數,但在調用Frame 構造函數時沒有使用這些值。 你需要改變這個:
Tk.Frame.__init__(self,parent)
...到這個:
Tk.Frame.__init__(self,parent, **kwargs)
my_frame.config(bd=1, relief=tkinter.SOLID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.