- pitone 3.2.2
- GTK3 3.2.2
- python-gobject 3.0.2
sto cercando di visualizzare una GUI e fare un po 'di lavoro in background. Come ho capito dovrebbe assomigliare a questo:Python. Facendo qualche lavoro su sfondo con interfaccia grafica Gtk
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
from threading import Thread
from gi.repository import Gtk, Gdk
class Gui():
def run(self):
self.Window = Gtk.Window()
self.Window.set_border_width(8)
self.Window.set_title("Некий GUI")
self.Window.connect('destroy', lambda x: self.stop())
self.outBut = Gtk.Button.new_from_stock(Gtk.STOCK_OK)
self.outBut.set_size_request(150, 35)
self.outBut.connect('clicked', lambda x: self.passfun)
self.Window.add(self.outBut)
self.Window.show_all()
def stop(self):
Gtk.main_quit()
def passfun(self):
pass
class LoopSleep(Thread):
def run(self):
i = 1
while True:
print(i)
i = i + 1
#time.sleep(1)
gui = Gui()
gui.run()
loopSleep = LoopSleep()
loopSleep.start()
Gdk.threads_init()
Gdk.threads_enter()
Gtk.main()
Gdk.threads_leave()
Ma non funziona. Diversi cicli si verificano quando si preme il pulsante. E il ciclo si avvia dopo che la finestra è chiusa. Ma non insieme.
Cosa faccio di sbagliato?
È necessario includere il codice con la domanda. –
Uso pastebin, perché non riesco a capire come il codice del lavoro si incolla qui. – Atterratio
Si incolla, selezionare e premere il pulsante codice nell'editor. –