为什么使用 tkinter 指定这些点后我的create_rectangle消失了?



我想创建一个透明框,在(614, 162(和(759, 306(的两个指定点之间有一个红色轮廓。但是,它返回我一个看不见或根本没有的盒子。但是对于 (100, 50( 和 (160, 100(,该框是可见的。

import tkinter as tkr
app = tkr.Tk()
app.title("AI Cashier")
app.geometry("1366x768")
app.wm_attributes("-transparentcolor", "white")
app.config(bg = "White")
can = tkr.Canvas(app,bg = "White",highlightthickness = 0)
can.create_rectangle(100,50,160,100,outline = "red", width = 2)
can.pack()
app.mainloop()

谁能向我解释一下,因为我对 tkinter 还很陌生。还是错误?

为什么使用 tkinter 指定这些点后我的create_rectangle消失了?

这是因为画布只有几百个像素宽和高,所以你在画布的可见区域之外绘制。

问题中代码的简单解决方法是使画布更大。您可以为其指定明确的宽度和高度(例如:can = tkr.Canvas(..., width=800, height=400)(,也可以强制画布填充窗口(例如:can.pack(fill='both', expand=True')(。在这两种情况下,图像都是可见的。

最新更新