我自己學習Python和Tkinter,並且對於我正在編寫的這段代碼有一些疑問。 我想讓程序執行兩個屬於類的功能。 因此,當我嘗試執行下面的代碼tkinter執行第一個函數,但不執行功能2,我不明白爲什麼。 有人可以幫助我這個。 而在函數2中,j的值需要等於來自函數1的j的值。 謝謝。Python Tkinter - 如何使用從一個函數到另一個函數的值?
from tkinter import *
myapp=Tk()
myapp.geometry('1100x700+100+50')
myapp.title('List Generator')
input1=IntVar()
input2=IntVar()
class Myclass:
def __init__(self):
text1=input1.get()
text2=input2.get()
ex1=float(text1)
ex2=float(text2)
totbtu=float(ex1*ex2)
realbtu=totbtu+(totbtu*0.15)
j= float(totbtu + 100)
Label(myapp, text=totbtu).place(x=600,y=20)
Label(myapp, text=realbtu).place(x=600,y=60)
Label(myapp, text=j).place(x=600,y=100)
def function2(self):
h=j+33
Label(myapp, text=h).place(x=600,y=140)
label1 = Label(myapp, text='Enter Area').place(x=10,y=10)
area_entry=Entry(myapp,textvariable=input1).place(x=140,y=10)
label11 = Label(myapp,text='SQ FT',).place(x=270,y=10)
label2 = Label(myapp, text='Enter Load').place(x=10,y=35)
area_entry=Entry(myapp,textvariable=input2).place(x=140,y=35)
label22 = Label(myapp,text="BTU's/SQ FT",).place(x=270,y=35)
button1 = Button(myapp, text = 'Generate',padx=5,pady=5,command=Myclass).place(x=10,y=70)
myapp.mainloop()
非常感謝您的幫助槍手。我剛開始學習使用python編寫代碼,所以這非常有幫助。 – PeterS
嗨槍手,我仍然有這個代碼的問題,因爲在function2我想使用function1的j值。 – PeterS
@PeterS嗨,謝謝你讓我知道。我不知道我以前在想什麼,但j在兩個函數中應該是相同的。我在每個函數的第一行添加了兩行,一行告訴程序「在這個函數中,使用全局變量j,不使用本地」。我所做的編輯應該有所幫助!再次感謝。 –