2015-04-20 83 views
1

我正在研究一個Qt應用程序,它具有使用腳本執行多個操作的可能性。腳本中的一個命令需要一個外部事件發生,直到可以計算列表中的下一個命令爲止(對其餘命令而言,這不是 )。qt等待信號/事件,GUI

通常,我打開文件,讀取腳本的一行並處理它。重複此操作直到達到EOF。

發生外部事件時發出信號是可能的,但是貫穿腳本運行的函數可以在此時間段內停止。

如何在沒有鎖定GUI響應的情況下對此進行歸檔?

謝謝!

+0

它們移動到不同的線程? – user3528438

回答

1

我會做這種方式:

public: 
    void execute_script() { 
    //open file 
    continue_execution(); 
    } 

public slots: 
    void continue_execution() { 
    while(!file.atEnd()) { 
     //read and process command 
     if(async_command) { 
     //make sure the signal indicating command completion 
     //is connected to continue_execution() slot 
     return; 
     } 
    } 
    emit script_finished(); 
    }