0
2 개의 버튼이있는 작은 프로그램을 만들었고 각각은 특정 일을합니다. 다음은 간단한 코드 버전입니다.def 함수를 실행할 때 GUI가 멈 춥니 다. 스레드를 사용 하시겠습니까?
버튼이 고정되어 클릭 한 위치에 머무르고 명령이 완료 될 때까지 전체 GUI가 정지되는 것을 제외하고는 문제가 없습니다. 내가 아는 한 스레드는이 상황에서 사용하는 것이 가장 좋지만이 예제에서 구현하는 방법을 모른다.
저는 gui에 glade와 pygtk를 사용합니다.
def do1:
t = 2
#do something
time.sleep(t)
#do something
time.sleep(t)
def do2:
t = 3
#do something
time.sleep(t)
#do something
time.sleep(t)
class we:
wTree = None
def __init__(self):
self.wTree = gtk.glade.XML("ui.glade")
dic = {
"on_buttonSone" : self.sone,
"on_buttonStwo" : self.stwo,
}
self.wTree.signal_autoconnect(dic)
gtk.main()
def sone(self, widget):
i = 0
while i < 3:
t = 1
#do something
i += 1
time.sleep(t)
self.wTree.get_widget("entryResult").set_text("Done.")
def stwo(self, widget):
start = time.clock()
array = ['A','B']
adict = {'A':do1,'B':do2}
for f in array:
adict[f]()
end = time.clock()
elapsed = end - start
gg = round(elapsed,2)
self.wTree.get_widget("entryResult").set_text(str(gg))
go=we()