Python'da, bash ile işbirliği yapan komut dosyası oluşturuyorum. Tüm arama seçeneklerini belirlediğimde ve bulma düğmesine bastığımda, arama tamamlandığında kaybolacak olan progress bar
ile pop-up penceresini açmak istiyorum. popup.show()
tarafından popup window
'u açıyorum ve pencereyi kapatana kadar hiçbir işlev yürütülmüyor. Peki bu problemi nasıl çözebilirim? kontrol sınıfındaİki pencere, açılır pencere ve ana pencerede çalışan pygtk
:
def search(self, widget):
cmd = "find " + self.model.directory + " -name \"" + self.model.name + "\"" + " -perm -" + str(self.model.mode)
if self.model.type is not None and self.model.type != '':
cmd += " -type " + self.model.type
if self.model.owner is not None:
cmd += " -user " + self.model.owner
if self.model.days is not None:
cmd += " -mtime -" + str(self.model.days)
self.progress = SearcherProgressBar()
output = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out = output.stdout.read().strip()
array = string.split(out, '\n')
self.list = list()
self.progress.label = "sdsds"
for value in array:
self.add_to_list(value)
#self.progress.popup.destroy() # when I uncomment, popup never appears
self.view.treestore.clear()
self.add_to_tree(self.list, None)
self.view.expand_item.set_sensitive(True)
progressbar sınıfında:
class SearcherProgressBar:
def __init__(self):
self.popup = gtk.Window(gtk.WINDOW_POPUP)
vbox = gtk.VBox()
self.popup.add(vbox)
self.popup.set_size_request(500,100)
self.label = gtk.Label("Searching...")
vbox.pack_start(self.label, True, True, 0)
self.popup.connect("destroy", self.dest)
self.popup.show_all()
def dest(self, widget, data=None):
self.popup.destroy()
return False
kodunuzu olun [SSCCE - İçerdiği Kısa, Self, (Derlenebilir) Doğru, Örnek] (http://sscce.org/). Sorunuzdaki kodu çalıştıramayız. Onlar sadece uygulamanızın bir parçası. –