2014-04-26 49 views
0

在我的Qt應用程序,我有一個公共槽下下面的代碼:爲什麼Qt的.show()函數需要永久加載?

NewForm* newform = new NewForm(ui->frame_2); 
    newform->show(); 

而且它需要大約8秒的點擊()信號發出後的形式打開。我在表單上的所有內容都是新表格上的一些標籤,兩個線條,一個平面按鈕和一個文本編輯器。表單依賴於一些網絡支持代碼......但這不應該與用戶界面相關,如果它?它在初始化時不會調用額外的代碼......我真的被卡住了。任何想法我可以解決這個問題?提前致謝。

+1

發佈您的表單代碼+創建表單的插槽代碼(如果您發佈的內容不是完整的插槽)。我有興趣看到這個網絡代碼。 – vikki

+0

這取決於您如何使用網絡以及您將代碼放在哪裏。如果你已經使用了阻塞方法,並且你已經把代碼放在了構造函數中,那麼是的,這就是原因。 – Mousa

+0

將定時器添加到您的代碼中,並讀取'new'之前的經過時間,''new'之後,然後再次'show()'之後的經過時間。這會告訴你瓶頸在哪裏。 – RobbieE

回答

0

通過將表單作爲初始化在主窗體的構造函數中的全局變量進行修復。顯然,Qt需要永遠構建窗體小部件。無論如何,謝謝你們!