2010-12-13 4 views
0

私はTkinterを勉強していますが、ボタンが必要です。それをクリックすると、コードで何かして、結果を印刷します。どうすれば結果を出力するためのGUIを作成できますか?

私はこれを開始しました:

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

どのように私は今、出力に結果を私のGUIを作ることができますか?

+0

ここでボタンを作成していますか? –

+0

ボタンは問題ありませんが、作成できますコードを実行するためにこのボタンを接続し、それを押した後、GUIを表示します。 – thaking

+0

@thaking hi I a tkinterを使ってプログラムを作成するには? huffman tree wud bのコードは私に有益です.. Cn u plzは私を渡しますか?どんな種類のヘルプがありがとう – MalTec

答えて

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

あればGUIで 『印刷』結果の」によって「あなたは、あなたは結果がウィンドウではなく、標準出力に表示したいわけ。テキストウィジェットのようなものを追加し、すべてのprintステートメントを<textwidget>.insertステートメントに置き換える必要があります。/

+0

このヒントのために多くの感謝、私は私のコードを変更します(edit2を参照)が、今私はGUIで私の結果を表示するウィンドウを作る方法を知らない。この "printHuffTree(huffTree)"の結果をIDLEに出力します。 – thaking

+2

@振る舞い:私が答えて言ったように、テキストウィジェット(例えば、 'textwidget = Text(root、...); textwidget.pack(...)')を作成し、printステートメントをしかし、満足のいく結果を得るための唯一の方法は、Tkinterチュートリアルの作業に時間を掛けることです。特定の問題に対する具体的な解決策を求めるのは、「感謝」という無限のサイクルになります。私 ..."。 –

関連する問題