为什么append在tkinter python上不起作用?

时间:2018-12-12 04:30:52

标签: python tkinter label

早上好,伙计们。目前,我正在一个检查整个地图并暗含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。但是,在我的代码中,它只是复制相同的数组并附加它。

0 个答案:

没有答案