当选择GUI时如何删除黑色边框?

2024-05-19 16:36:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个Entry小部件添加到带有^{Frame中。单击GUI时,会出现一个黑色边框:

import Tkinter as tk

class Example(tk.Frame):
    def __init__(self, root):

        tk.Frame.__init__(self, root)
        self.canvas = tk.Canvas(root)
        self.frame = tk.Frame(self.canvas)
        self.vsb = tk.Scrollbar(root, orient="vertical", command=self.canvas.yview)
        self.canvas.configure(yscrollcommand=self.vsb.set)

        self.vsb.pack(side="right", fill="y")
        self.canvas.pack(side="left", fill="both", expand=True)
        self.canvas.create_window((4,4), window=self.frame, anchor="nw", 
                              tags="self.frame")

        self.frame.bind("<Configure>", self.OnFrameConfigure)
        self.addEntry()

    def addEntry(self):
        self.entryVariable = tk.StringVar()
        self.entry = tk.Entry(self.frame,textvariable=self.entryVariable)
        self.entry.grid(column=0,row=0,sticky='EW')

        self.entryVariable.set(u"")
        self.entry.focus_set()
        self.entry.selection_range(0, tk.END)

    def OnFrameConfigure(self, event):
        '''Reset the scroll region to encompass the inner frame'''
        self.canvas.configure(scrollregion=self.canvas.bbox("all"))

if __name__ == "__main__":
    root=tk.Tk()
    Example(root).pack(side="top", fill="both", expand=True)
    root.mainloop()

如何删除选中GUI时出现的黑色边框?在


Tags: selfdefrootfillframesidepacktk
1条回答
网友
1楼 · 发布于 2024-05-19 16:36:00

要删除小部件的边框(例如Text小部件),请将highlightthickness属性设置为0。在

这里有一个有效的例子:

import tkinter as tk

class Example(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.text = tk.Text(self, highlightthickness=0)
        self.text.pack(expand=1, fill='both')

root = tk.Tk()
Example(root).pack(expand=1, fill='both')
root.mainloop()

相关问题 更多 >