Я обнаружил, что могу делать то, что мне нужно (т.е. рисовать соединительные линии между метками, сгенерированными на холсте), используя геометрию места вместо пакета. Для большого количества автоматически сгенерированных меток это означает использование небольшого метода для генерации координат размещения, но как только эти наборы координат сгенерированы, присоединение меток становится простым.
Например:
label1 = tk.Label(master, text="ONE", bg="red", fg="white")
label1.place(x=50, y=80)
label2 = tk.Label(master, text="TWO", bg="blue", fg="white")
label2.place(x=720, y=80)
line(50, 80, 720, 80)
Другой способ сделать это - создать текстовые объекты Canvas вместо меток. Так что это будет выглядеть следующим образом:
import tkinter as tk
master = tk.Tk()
def line(x1, y1, x2, y2):
print(x1, y1, x2, y2)
w.create_line(x1, y1, x2, y2, fill="green")
w = tk.Canvas(master, width=800, height=100)
w.pack()
l1 = w.create_text(50, 20, text="ONE", fill="red", tag="l1")
l2 = w.create_text(720, 20, text="TWO", fill="blue", tag="l2")
x1 = w.coords(l1)[0] + 20
y1 = w.coords(l1)[1]
x2 = w.coords(l2)[0] - 20
y2 = w.coords(l2)[1]
line(x1, y1, x2, y2)