Python 我应该使用哪些Tkinter函数来查找随机放置(画布中)文本条目的坐标,以及如何查找?

Python 我应该使用哪些Tkinter函数来查找随机放置(画布中)文本条目的坐标,以及如何查找?,python,tkinter,tkinter-canvas,Python,Tkinter,Tkinter Canvas,谢谢你调查我的问题。我会尽量给你一个大大小小的图片,告诉你我在这里要做什么 大局: 因此,基本上我正在尝试制作一个简单的思维导图程序,在第一次输入之后,我输入到输入小部件的每个文本都通过一个行小部件链接到前面的文本。所以像这样:你好----那里,然后你好----那里----哟。事实上,我希望将来能有更多的修改,比如通过一些我已经探索过的指标来重新排列链接,但基本上就是这样 小/特定图片: 我意识到,为了做到这一点,我必须找到一种方法来获取画布上绘制的每个文本(我使用随机函数在画布上绘制的文本)的

谢谢你调查我的问题。我会尽量给你一个大大小小的图片,告诉你我在这里要做什么

大局: 因此,基本上我正在尝试制作一个简单的思维导图程序,在第一次输入之后,我输入到输入小部件的每个文本都通过一个行小部件链接到前面的文本。所以像这样:你好----那里,然后你好----那里----哟。事实上,我希望将来能有更多的修改,比如通过一些我已经探索过的指标来重新排列链接,但基本上就是这样

小/特定图片: 我意识到,为了做到这一点,我必须找到一种方法来获取画布上绘制的每个文本(我使用随机函数在画布上绘制的文本)的所有xy坐标。我需要第一个文本的坐标和第二个文本的坐标,这样我就可以用它们来画一条线来直观地链接这两个文本。我曾想过使用数组来列出所有输入的文本,但我意识到只存储文本,而不存储画布上文本的位置。我曾经尝试过使用标签,或者使用coords函数,或者使用bbox函数,但都没有用。有没有关于如何进行的线索?我将不胜感激,谢谢。:)

导入Tkinter
随机输入
a=Tkinter.Tk()
b=Tkinter.Canvas(a,宽度=1000,高度=500)
b、 包()
def c(事件):
b、 创建文本(random.randint(50940),random.randint(50480),anchor=“center”,text=d.get())
f、 追加(d.get())
d、 删除(0,“结束”)
打印f
#此函数创建一个随机定位的文本,该文本取自下面的条目小部件,同时将该文本追加到名为“f”的列表中
d=Tkinter.条目(a)
d、 包()
d、 绑定(“,c)
d、 焦点()
b、 创建_线(300250600290)
#这是我很早就尝试在画布上链接输入和绘制的文本
f=[]
a、 mainloop()

在使用变量在画布上创建文本之前,只需将随机值分配给变量,并将对象ID和文本保留在列表中

x = random.randint(...) 
y = random.randint(...) 

obj_id = b.create_text(x, y, ...) 

f.append([x, y, obj_id, d.get()])

顺便说一句:如果您有
obj_id
,那么您也可以这样做

x,y = b.coords(obj_id) 

在使用它在画布上创建文本之前,只需将随机值分配给变量,并使用对象ID和文本保留在列表中

x = random.randint(...) 
y = random.randint(...) 

obj_id = b.create_text(x, y, ...) 

f.append([x, y, obj_id, d.get()])

顺便说一句:如果您有
obj_id
,那么您也可以这样做

x,y = b.coords(obj_id) 

“无用”是什么意思?为什么使用标签和coords函数不起作用?您可以使用标记来查找带有“text”标记的所有对象,还可以使用
coords
来获取每个对象的坐标。我不知道如何使用它们^^“无效”是什么意思?为什么使用标记和coords函数不起作用?您可以使用标记来查找带有“text”标记的所有对象,并且可以使用
coords
来获取每个对象的坐标。我不知道如何使用它们。^”