Python Tkinter如何删除Frame周围的边框?

时间:2017-05-09 21:34:12

标签: python tkinter border frames

我有一个包含多个帧的程序。一切都运作良好,但我无法弄清楚为什么存在其中一个框架周围的边框。

我尝试了一些事情。

以下是我的框架的创建方式:

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错误,但它没有抛出错误,因此接缝就像它应该做的那样。

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

enter image description here

我不确定问题存在的原因。是因为我使用图像作为背景吗?

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

1 个答案:

答案 0 :(得分:2)

第一步是将两者 var mouseX, prevMouseX, navType, change; var dragging = false; $("#cssNav").mousedown(function () { dragging = true; navType = "css"; }); $("#jsNav").mousedown(function () { dragging = true; navType = "js"; }); $(document).mousemove(function (e) { mouseX = e.pageX; if(dragging){ e.preventDefault(); change = mouseX - prevMouseX; if(navType == "css" && ($("#css").width() - (change)) > 0 && ($("#html").width() + (change)) > 0){ var hw = $("#html").width(); var cw = $("#css").width(); $("#html").width(hw + change); $("#css").width(cw - change); } else if(navType == "js" && ($("#css").width() + (change)) > 0 && ($("#js").width() - (change)) > 0){ var cw = $("#css").width(); var jw = $("#js").width(); $("#css").width(cw + change); $("#js").width(jw - change); } } prevMouseX = mouseX; }).mouseup(function () { dragging = false; }).mouseleave(function () { dragging = false; }); borderwidth设置为零。一个框架有两个类似边框的对象:实际边框和一个"高亮环"。后者用于显示框架具有焦点。

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

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

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