早上好,伙计们。目前,我正在一个检查整个地图并暗含A *的项目中。该程序是超过600多行代码,但是我对append()方法有问题。我将tkinter用于Python中的GUI,并且一切都很完美,但是当我应用append()时,它不会删除前一个标签,也不会创建新标签。它只是复制到标签本身中。
我的打印功能代码如下:
res = []
def printfunction():
for r in res:
r.destroy()
try:
Inputforfirstregion = Entryforfirstregion.get()
Inputforlastregion = Entryforlastregion.get()
except:
LabelError = Label(w, text = 'Enter both regions!')
LabelError.pack()
w.create_window(650, 170, window = LabelError)
umumi_cost = graph.Astarfunksiyasi(Inputforfirstregion, Inputforlastregion) # executes the algorithm
path = graph.yoluTap() # gets path
if umumi_cost: #overall cost
LabelforResult = Label(w, text = result)
LabelforResult.pack()
w.create_window(650, 70, window = LabelforResult)
res.append(LabelforResult)
#print(result)
else:
LabelNotResult = Label(w, text = "Nəticə tapılmadı!")
LabelNotResult.pack()
w.create_window(650,70, window = LabelNotResult)
print('Nəticə tapılmadı!')
已从评论中移出:
该程序的确切作用是
需要2个输入-Inputforfirstregion =
/ Inputforlastregion =
,
字符串(第一个区域和最后一个区域)以计算A *算法的启发式和UCS。
res[]
是首先初始化的数组,并且
在if umumi_cost:
语句中,我使用之前计算的文本result
创建了新标签。
当我按下按钮时,应该在标签上给我新的result
。但是,在我的代码中,它只是复制相同的数组并附加它。