Skip to main content
 首页 » 编程设计

Python:无边框的列表框

2025年05月04日14linjiqin

我想得到一个表,但当我意识到 python 中没有表时,我决定用两个列表框来修复它。

重点是,我不希望它们之间存在边界。

所以我的问题是:如何在 Python 中删除 Tk 列表框的边框?

即使它会变白我也有解决办法...

请您参考如下方法:

您想将 borderwidth 设置为零,但您还想将 highlightthickness 设置为零。 Highlightthickness 表示当它具有键盘焦点时围绕整个小部件的矩形。最后,当您使用 pack 或 grid 时,请确保不要在它们之间添加任何填充。

如果你想完成两个小部件是一个的错觉,把它们放在一个框架中,并给框架一个 borderwidth 和 relief。 将 Tkinter 导入为 tk

class Example(tk.Frame): 
    def __init__(self, parent): 
        tk.Frame.__init__(self, parent, borderwidth=1, relief="sunken") 
 
        lb1 = tk.Listbox(self, borderwidth=0, highlightthickness=0) 
        lb2 = tk.Listbox(self, borderwidth=0, highlightthickness=0) 
 
        lb1.pack(side="left", fill="both", expand=True) 
        lb2.pack(side="left", fill="both", expand=True) 
 
        lb1.insert(0, "left") 
        lb2.insert(0, "right") 
 
if __name__ == "__main__": 
    root = tk.Tk() 
    Example(root).pack(fill="both", expand=True, padx=8, pady=8) 
    root.mainloop()