Sto cercando di imparare come usare QThreads in un'applicazione PyQt Gui. Ho cose che funzionano per un po ', con (di solito) punti in cui posso aggiornare un Gui, ma vorrei dividere il lavoro principale con il suo thread (a volte la roba si blocca, e sarebbe bello avere un Annulla/riprova il pulsante, che ovviamente non funziona se il Gui è bloccato perché il Loop principale è bloccato).Esempio del modo giusto di usare QThread in PyQt?
Ho letto https://mayaposch.wordpress.com/2011/11/01/how-to-really-truly-use-qthreads-the-full-explanation/. Quella pagina dice che la reimplementazione del metodo run
non è il modo per farlo. Il problema che sto avendo è trovare un esempio PyQt che ha un thread principale che fa il Gui e un thread di lavoro che non lo fa in questo modo. Il post del blog è per C++, quindi mentre gli esempi aiutano, sono ancora un po 'perso. Qualcuno può per favore indicarmi un esempio del modo giusto per farlo in Python?
Questo appare come un duplicato di [thread in background con QThread in PyQt] (http://stackoverflow.com/questions/6783194/background-thread-with-qthread-in-pyqt). Il secondo esempio nella risposta accettata sembra una semplice traduzione del codice C++ dal blog che hai collegato. – abarnert
Inoltre, hai scritto codice di threading Python nativo (con 'threading.Thread', ecc.)? In caso contrario, potresti voler esaminare alcuni esempi di ciò prima. (Vedi anche [Applicazione di thread in un'applicazione PyQt: utilizza thread Qt o thread Python] (http://stackoverflow.com/questions/1595649/threading-in-a-pyqt-application-use-qt-threads-or-python- thread) per vedere se hai bisogno di QThread qui.) – abarnert
@abarnert Grazie, penso che il collegamento fosse proprio quello che stavo cercando. Avevo visto il secondo link e ho deciso di utilizzare QThreads perché volevo essere in grado di inviare slot/segnali tra i thread. Sapevo che 'threading.Thread' esiste, ma non l'ho mai usato prima. Ho fatto molte ricerche e ho persino visto il primo link, l'ho scremato, ho visto 'def run' e ho proseguito, non rendendomi conto di aver mostrato entrambi i modi! – Azendale