我最近在 python 交互模式下遇到了一些返回值(我从来没有在脚本模式下获得 create_line 函数的返回值,如果在交互模式下测试单独的行,我得到了返回值,但该函数没有像我预期的那样创建行)。我想知道这些是什么意思,为什么没有创建这条线。以下是我目前遇到的几个:
>>> canvas.create_line(134,100,134,400)
1
>>>
我也得到了这些返回值>>> def shape():
canvas.create_line(134,100,134,400)
canvas.create_line(134,400,234,400)
canvas.create_line(234,100,234,400)
canvas.create_line(234,100,134,100)
>>> shape()
>>> canvas.create_line(134,100,134,400)
5
>>> canvas.create_line(134,400,234,400)
6
>>> canvas.create_line(234,100,234,400)
7
>>> canvas.create_line(234,100,134,100)
8
>>>
在这段代码中,当我调用 shape
时函数然后它没有创建行。单独调用这些行给了我这些返回值,奇怪的是值是如何从 5 开始然后连续到 8 的。有人可以告诉这是一个错误还是这些数字有意义吗?
最佳答案
当你说 canvas.create_line()
它返回一个 Id
创建的 Canvas 对象,稍后可用于修改或获取属性等。
这是关于 create_arc()
的事情因为我找不到有关 create_line()
的任何官方信息:
The constructor returns the object ID of the new arc object on canvas.
从你的例子来看,似乎只有
create_line()
和 create_image()
返回整数 id,其余的给出一个对象 id。例如:
obj = canvas.create_line(134,100,134,400)
canvas.itemconfig(obj, width=10)
Canvas
方法取tagorId
,所以你总是可以只使用一个选项 tag='line1'
然后稍后调用它,例如:obj = canvas.create_line(134,100,134,400,tag='line1')
canvas.itemconfig('line1', width=10)
in this code, when I called shape function then it did not create the lines.
你确定 Canvas 坐标正确吗?它从 Canvas 的 0,0 开始,尝试更改坐标并配置适用于 Canvas 的内容。
关于python tkinter canvas create_line 函数返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67104952/