파이썬/tkinter 라벨 위젯을 가져 와서 내용을 업데이트하려고합니다. 오늘의 이전 글에서는 위젯을 조합하는 방법에 대한 지침을 따랐습니다. 그러나 런타임에, 레이블 위젯은 Calculeaza 버튼을 클릭 할 때 내용을 변경하지 않습니다. 내가 알 수있는 한, Calculeaza() 함수가 잘못되었습니다. 만든파이썬에서 특정 텍스트를 엔트리로 설정하는 방법은 무엇입니까?
import sys
from Tkinter import *
class C2F(Frame):
#celsiusEntry = Entry
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Convertor Celsius/Fahrenheit")
self.pack(fill=BOTH, expand=1)
# Meniul superior cu File>Exit si Help>About
menuBar= Menu(self.parent)
self.parent.config(menu=menuBar)
fileMenu= Menu(menuBar)
fileMenu.add_command(label="Exit", command = self.onExit)
menuBar.add_cascade(label="File", menu=fileMenu)
# Adaugare butoane http://effbot.org/tkinterbook/grid.htm
"""
Label(self.parent, text="First").grid(row=0, column =0)
Label(self.parent, text="First").grid(row=1, column = 0)
"""
labelframe = LabelFrame(self.parent, text="Celsius/Fahrenheit")
labelframe.pack(fill="both", expand="yes")
left = Label(labelframe, text="Celsius")
left.grid(row=0, column=0)
Label(labelframe, text="Fahrenheit").grid(row=1, column =0)
global celsiusEntry
celsiusEntry=Entry(labelframe, bd=5)
celsiusEntry.grid(row=0, column=1)
global fahrenheitEntry
fahrenheitEntry=Entry(labelframe, bd=5, text="salut")
fahrenheitEntry.grid(row=1, column=1)
calcButon = Button(labelframe, text="Calculeaza", command=self.Calculeaza)
calcButon.grid(row=1, column=2)
def onExit(self):
self.parent.quit()
def Calculeaza(self):
cgrade =celsiusEntry.get()
if cgrade == ' ':
fahrenheitEntry.configure(text = ' ')
else:
cgrade=float(cgrade)
fgrade=(cgrade-32)/1.8
fahrenheitEntry.config(text=str(fgrade))# is not function
def main():
root= Tk()
root.geometry("350x350+300+300")
app= C2F(root)
#Label(root, text="First").grid(row=0, column =0)
root.mainloop()
if __name__ == "__main__":
main()
"필요"조금 너무 강한 :
다음은 후자의 예이다. 변수를 사용하는 것이 문제를 해결하는 유일한 방법은 아닙니다. –
@BryanOakley 오 오 감사합니다. 그래도 파이썬에 익숙하지 않습니다. 감사. :) –