0
저는 파이썬에서 newb입니다. 간단한 GUI 애플리케이션을 만들려고합니다 : gtk.Spinner와 gtk.Button이있는 메인 윈도우. 버튼을 누르면 스피너가 5 초 후에 시작하고 멈 춥니 다. 여기에 내 코드가 있지만 작동하지 않습니다 :gtk.Spinner를 파이썬 스레드에서 사용 하시겠습니까?
#!/usr/bin/env python
import thread
import gtk
import time
class Spinner:
def __init__(self):
window = gtk.Window()
window.set_default_size(200, 200)
vbox = gtk.VBox(False, 5)
hbox = gtk.HBox(True, 5)
self.spinner = gtk.Spinner()
button_start = gtk.Button("Start")
window.connect("destroy", lambda w: gtk.main_quit())
button_start.connect("clicked", self.start_animation)
window.add(vbox)
vbox.pack_start(self.spinner, True, True, 0)
vbox.pack_end(hbox, False, False, 0)
hbox.pack_start(button_start)
window.show_all()
def start_animation(self, widget):
self.lock = thread.allocate_lock()
thread.start_new_thread(self.spin,(self.lock,))
while (not self.lock.locked()):
self.spinner.stop()
while self.lock.locked():
self.spinner.start()
self.spinner.show()
def spin(self,lock):
self.lock.acquire()
time.sleep(10)
self.lock.release()
Spinner()
gtk.main()
나는 스레드에 대한 몇 가지 예제를 읽고 그것을 사용하려고합니다. 하지만 그건 효과가 없어 .Plz 내가 도와 줘. Tks 많이.
어떻게 작동하지 않습니까? – ptomato