현재 Python으로 CFD 프로그램을 작성하고 있으며 스크립트는 미리 정의 된 많은 전역 변수를 계산에 사용합니다.GUI를 사용하여 변수를 입력하고 Python으로 스크립트를 실행하십시오.
사용자가이 모든 변수를 입력 할 수있는 GUI를 작성한 다음 스크립트를 실행하고 주 콘솔에서 결과를 리턴하고 싶습니다. 나는 이것을하기 위해 Tkinter를 사용해 보았지만 전역 변수를 설정하는 방법을 찾지 못했습니다.
다음은 간단한 글로벌 변수 설정이 필요한 훨씬 간단한 계산을 수행하기 위해 설계 한 간단한 GUI입니다.
'''GUI 2'''
import Tkinter
factor = 10
def GUIrun(n):
return n * factor
class simpleGUI(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent=parent
def initialize(self):
self.grid()
self.entryVariable = Tkinter.StringVar()
self.entry = Tkinter.Entry(self,textvariable=self.entryVariable)
self.entry.grid(column=0,row=0,sticky='EW')
self.entry.bind("<Return>",self.OnPressEnter)
self.entryVariable.set("n")
button=Tkinter.Button(self,text="Run",command=self.OnButtonClick)
button.grid(column=1,row=0)
self.labelVariable = Tkinter.StringVar()
label=Tkinter.Label(self,textvariable=self.labelVariable,
anchor="w",fg="white",bg="blue")
label.grid(column=0,row=1,columnspan=2,sticky='EW')
self.labelVariable.set("Hello!")
self.grid_columnconfigure(0,weight=1)
self.resizable(True,False)
self.entry.focus_set()
self.entry.selection_range(0, Tkinter.END)
def OnPressEnter(self,event):
n = self.entryVariable.get()
self.labelVariable.set("n = " +self.entryVariable.get())
self.entry.focus_set()
self.entry.selection_range(0, Tkinter.END)
def OnButtonClick(self):
n=self.entryVariable.get()
return GUIrun(n)
if __name__=="__main__":
app=simpleGUI(None)
app.title('poster')
app.initialize()
app.mainloop()
내가 어떤 도움 감사하겠습니다은
문제점은 무엇입니까? 글로벌 변수가 필요한 이유는 무엇입니까? 전역 값을 많이 사용하는 스크립트가 있다면 클래스에서 다시 작성하고 줄여야한다고 생각합니다. –