簡體   English   中英

tkinter 框架邊框不顯示

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

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