Как я могу теперь сделать мой графический интерфейс для вывода результатов? - PullRequest
0 голосов
/ 13 декабря 2010

Я изучаю 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 голосов
/ 13 декабря 2010

Вы хотите добавить что-то вроде следующего в ваш код:

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()

Если под «печатать» результат в графическом интерфейсе. «Вы имеете в виду, что хотите, чтобы результаты отображались в окне, а не в stdout, вам нужно добавить что-то вроде текстового виджета и заменить все ваши операторы print <textwidget>.insert заявления /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...