我该如何让我的GUI输出结果?

0 投票
1 回答
2070 浏览
提问于 2025-04-16 08:27

我正在学习 Tkinter,我需要一个按钮,然后当我点击它时,执行一些代码,并打印出结果。

我开始是这样的:

from Tkinter import *
import heapq

root = Tk()
root.title("TEST")
root.geometry("800x600")


#-------------------CODE-----------------------
def makeHuffTree(symbolTupleList):
   trees = list(symbolTupleList)

   heapq.heapify(trees)
   while len(trees) > 1:
      childR, childL = heapq.heappop(trees), heapq.heappop(trees)
      parent = (childL[0] + childR[0], childL, childR)
      heapq.heappush(trees, parent)
   return trees[0]

def printHuffTree(huffTree, prefix = ''):
   if len(huffTree) == 2:
      print huffTree[1], prefix
   else:
      printHuffTree(huffTree[1], prefix + '0')
      printHuffTree(huffTree[2], prefix + '1')

def OnButton():
    exampleData = [(0.124167  , 'e'),   (0.0969225 , 't'),(0.0820011 , 'a'),]
    huffTree = makeHuffTree(exampleData)
    printHuffTree(huffTree)

button = Button(root, text="Press me!", command=OnButton)
button.pack()

root.mainloop()

那么我现在该如何让我的图形界面输出结果呢?

1 个回答

2

你想在代码中添加类似下面的内容:

def OnButton():
    exampleData = [(0.124167  , 'e'),   (0.0969225 , 't'),(0.0820011 , 'a'),]
    huffTree = makeHuffTree(exampleData)
    printHuffTree(huffTree)

button = Button(root, text="Press me!", command=OnButton)
button.pack()

如果你说的“在图形界面中显示结果”是指想让结果出现在一个窗口里,而不是在控制台上,那么你需要添加一个文本框,并把所有的print语句替换成<textwidget>.insert语句。

撰写回答