我是Pyhton GUI的新手,一段時間以來一直在玩下面的代碼。下面的拉丁語到英語翻譯器的代碼通過顯示三個按鈕來實現,每個按鈕上都有一個拉丁文字。按下時,GUI的標籤中會出現英文等同物。我想讓輸出顯示在「英文翻譯」的右邊,但如果按下另一個按鍵,則會被另一個輸出替換。取而代之的是,在按下幾個按鈕後,它會一遍又一遍地顯示翻譯,從而導致框區域變得越來越大。有沒有辦法只是交換輸出而不是以前的輸出?提前感謝您,我很感謝任何幫助將我轉向解決方案。Python 3拉丁語譯成英語簡單的gui按鈕翻譯器
import tkinter
import tkinter.messagebox
class LatConvGUI:
def __init__(self):
self.main_window = tkinter.Tk()
self.top_frame = tkinter.Frame()
self.bottom_frame = tkinter.Frame()
self.prompt_label = tkinter.Label(self.top_frame, \
text='English Translation is:')
self.prompt_label.pack(side='left')
self.sin_button = tkinter.Button(self.bottom_frame, \
text='sinister', \
command=self.convert)
self.dex_button = tkinter.Button(self.bottom_frame, \
text='dexter', \
command=self.convert2)
self.med_button = tkinter.Button(self.bottom_frame, \
text='medium', \
command=self.convert3)
self.label2 = tkinter.Label(self.bottom_frame, \
text='Latin word is:')
self.label2.pack(side='left')
self.sin_button.pack(side='left')
self.dex_button.pack(side='left')
self.med_button.pack(side='left')
self.top_frame.pack()
self.bottom_frame.pack()
tkinter.mainloop()
def convert(self):
self.label1 = tkinter.Label(self.top_frame, \
text='left')
self.label1.pack(side = 'top')
def convert2(self):
self.label3 = tkinter.Label(self.top_frame, \
text='right')
self.label3.pack(side = 'top')
def convert3(self):
self.label4 = tkinter.Label(self.top_frame, \
text='center')
self.label4.pack(side = 'top')
eng_conv = LatConvGUI()
您提供的「Python 3 tkinter更改標籤文本」鏈接對我理解該概念非常有幫助。感謝您花時間指出我的方向。 – WillyJoe 2014-09-29 16:48:43