2013-11-25 61 views
1

我寫了一個Qt應用程序,可用於qt事件,如QTimer,QTcpSocket等。當程序有延遲時會發生問題。我想知道哪些事件會造成這種延遲!如何逐一處理Qt事件?

要做到這一點,我想處理所有的事件,一個接一個,也獲得了處理這些事件相應的對象,最後,我想事件的類型!

在此先感謝。

+0

你能不能解釋一下?你究竟如何使用它們? –

回答

0

QTimer,QTcpSocket等不完全是事件,這些類在與主線程不同的線程中執行它們的處理。如果你需要更多的解釋讓我知道。

爲了不讓他們同時運行,這是東西,你可以這樣開始:

QThread *Thread = new QThread(); 

QTimer * T = new QTimer(); 
T->setInterval(1000); 
T->moveToThread(Thread); 
T->start(); 
// After some checkings 
QTcpSocket *socket = new QTcpSocket(); 
socket->moveToThread(Thread); 
// And so on ...