我有一个包含多个帧的程序。一切都运作良好,但我无法弄清楚为什么存在其中一个框架周围的边框。
我尝试了一些事情。
以下是我的框架的创建方式:
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
直接相关的内容。所以我可能正在使用highlightthickness
和highlightbackground
错误,但它没有抛出错误,因此接缝就像它应该做的那样。
以下是框架在顶部显示细边框的方式图像。
我不确定问题存在的原因。是因为我使用图像作为背景吗?
我不想在这里发布我的所有代码,因为它会很多,但是如果你想看到我的程序在Github上的完整代码
答案 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
设置为零。一个框架有两个类似边框的对象:实际边框和一个"高亮环"。后者用于显示框架具有焦点。
一旦你这样做,框架将没有边框。如果小部件周围仍然存在某种类似边框的环,则可能是由于填充应用于几何管理器,您看到的是父窗口的颜色。
在您的特定情况下,由于您在框架中放置了标签,因此您也需要关闭标签的边框。您很可能看到标签的边框而不是框架的边框。
我不能更具体,因为你没有提供一个最小但完全有效的例子来说明问题。