Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter修复框架大小,使其不与滚动条重叠画布边框_Python_Tkinter_Canvas_Scrollbar_Frame - Fatal编程技术网

Python Tkinter修复框架大小,使其不与滚动条重叠画布边框

Python Tkinter修复框架大小,使其不与滚动条重叠画布边框,python,tkinter,canvas,scrollbar,frame,Python,Tkinter,Canvas,Scrollbar,Frame,我正在用tkinter开发GUI,我遇到了一个问题。 当我将滚动条添加到我的应用程序时,画布上的框架与轮廓重叠(见图) 代码如下: from tkinter import * window = Tk() window.geometry("400x225") scrollbar1 = Scrollbar(window, orient=VERTICAL) canvas1 = Canvas(window, bg="#003333", yscrollcomm

我正在用tkinter开发GUI,我遇到了一个问题。 当我将滚动条添加到我的应用程序时,画布上的框架与轮廓重叠(见图)

代码如下:

from tkinter import * 

window = Tk()
window.geometry("400x225")
scrollbar1 = Scrollbar(window, orient=VERTICAL)
canvas1 = Canvas(window, bg="#003333", yscrollcommand=scrollbar1.set)
frame1 = Frame(canvas1, bg="#003333")

scrollbar1.config(command=canvas1.yview)
scrollbar1.pack(side=RIGHT, fill=Y)
canvas1.pack(fill=BOTH, expand=True)
canvas1.create_window((0, 0), window=frame1, anchor="nw")

for x in range(20):
    string = "line " + str(x)
    label1 = Label(frame1, fg="white", bg="#003333", text=string, font=("Calibri Bold", 14))
    label1.pack(pady=5)

window.update()
canvas1.config(scrollregion=canvas1.bbox("all"))

window.mainloop()
我不知道这是否可能,但我希望框架能适合画布,并保持轮廓。 我希望你明白我的问题,也许能帮我解决!提前感谢。

指定一个非负值,该值指示当小部件具有输入焦点时围绕其外部绘制的高亮显示矩形的宽度

所以,这并不是你真正想要的“边界”。它是画布中绘图空间的一部分,当您使用
window\u create
绘制窗口时,该窗口的父窗口是画布,它在突出显示之前开始,因此窗口在其上滑动


正如@所建议的,一个解决方案是通过指定
highlightthickness=0
来实现
0
,并且正如您所建议的,您需要在整个东西周围使用“边框”,您可以创建一个容器框架并指定
bd
参数,或者只需设置窗口
window.config(bd=2)的
bd

谢谢你,伙计!那
window.config(bd=2)
正是我所需要的!