【问题标题】:Python Tkinter How to remove the border around a Frame?Python Tkinter 如何删除框架周围的边框?
【发布时间】:2017-05-09 21:34:12
【问题描述】:

我有一个包含多个帧的程序。一切正常,但我无法弄清楚为什么其中一个框架存在边框。

我已经尝试了一些东西。

这是我的框架的创建方式:

kwListFrame = Frame(root)
kwListFrame.grid(row = 1, column = 0, rowspan = 1, columnspan = 1, sticky = N+S+E+W)
kwListFrame.columnconfigure(0, weight=1)
kwBGimage = Label(kwListFrame, image= baseBGimage)
kwBGimage.image = baseBGimage
kwBGimage.place(x = 0, y = 0)
kwBGimage.config(image = baseBGimage)

我尝试过改变:

kwListFrame = Frame(root)

收件人:

kwListFrame = Frame(root, highlightthickness=0)
#or
kwListFrame = Frame(root, padx=0, pady=0)
#or
kwListFrame = Frame(root, bd=0)

在那之后我试过了:

kwListFrame = Frame(root, highlightbackground= "some color that matches frame")

我什至尝试将浮雕设置为平坦,即使我知道它的默认值是平坦的。

由于我找到了一些关于删除画布边框的参考,我没有找到与Frames 直接相关的任何内容。所以我可能错误地使用了highlightthicknesshighlightbackground,但它没有抛出错误,所以它看起来应该可以解决问题。

这是框架在顶部显示细边框方式的图像。

我不确定为什么会出现问题。是不是因为我用了一张图片作为背景?

我不想在这里发布我所有的代码,因为它会太多,但如果你想查看我的程序在Github上的完整代码

【问题讨论】:

    标签: python tkinter border frames


    【解决方案1】:

    第一步是将borderwidthhighlightthickness设置为零。框架有两个类似边框的对象:实际边框和“高亮环”。后者用于显示框架具有焦点。

    一旦你这样做了,框架就没有边框了。如果小部件周围仍有某种类似边框的环,则可能是由于对几何管理器应用了填充,而您看到的是来自父窗口的颜色。

    在您的特定情况下,由于您将标签放在框架中,因此您还需要关闭标签的边框。您很可能看到的是标签的边框,而不是框架的边框。

    我不能更具体,因为您没有提供一个最小但完全有效的示例来说明问题。

    【讨论】:

    • 我确实尝试过kwListFrame = Frame(root, borderwidth = 0, highlightthickness = 0) 这也没有用。我确实链接了我的 github 以获得完整的代码。有很多方法可以在这里发布。我会检查我是否有任何会导致此问题的填充。
    • @SierrMountainTech:我已经更新了我的答案。您看到的可能是标签的边框。
    • 谢谢你。你是对的,它是Label Border。这解决了我的问题。再次感谢。
    • 只需要kwBGimage = Label(kwListFrame, image= baseBGimage, borderwidth = 0, highlightthickness = 0)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2018-03-12
    • 2013-11-27
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多