【发布时间】:2019-04-18 00:18:09
【问题描述】:
我正在使用 tkinter 使用不同矩形的高度进行排序可视化程序。我能够随机化每个矩形的高度,但现在我被困在试图弄清楚如何相互切换两个矩形的位置。在开始尝试实现排序之前,我需要弄清楚如何做到这一点。
这是我目前所拥有的:
import tkinter as tk
import random
window = tk.Tk()
window.title('Sorting')
window.geometry('600x400')
xstart = 5
xend = 15
canvas = tk.Canvas(window, width='600', height='400')
canvas.pack()
barList = []
lengthList = []
for x in range(1,60):
randomY = random.randint(1,390)
bar = canvas.create_rectangle(xstart,randomY,xend,395, fill='red')
barList.append(bar)
xstart += 10
xend +=10
for bar in barList:
x = canvas.coords(bar)
length = x[3]-x[1]
lengthList.append(length)
window.mainloop()
【问题讨论】:
-
你在哪里尝试交换矩形位置?
-
@alec_a 我没有,我试着弄乱了一些想法,但最后我想不出如何为此实现任何东西
-
effbot.org: Canvas -
coords()获取和设置位置。
标签: python python-3.x tkinter tkinter-canvas algorithm-animation