2010-11-14 46 views
1

我已經完成了我的第一個Qt應用程序,並且注意到main.cpp文件中的QApplication構造函數最多需要10秒才能執行。這導致了一個惱人的啓動延遲,我甚至無法顯示啓動畫面。QApplication構造函數(Qt)最多需要10秒

當分析此延遲時,事實證明,QApplicationPrivate類中的initializeMultitouch_sys方法是罪魁禍首。具體來說,iInkTablets-> get_Count(...)調用佔用所有時間。

void QApplicationPrivate::initializeMultitouch_sys() 
{ 
    [...] 
    IInkTablets *iInkTablets = 0; 
    HRESULT hr = CoCreateInstance(QT_CLSID_InkTablets, NULL, CLSCTX_ALL, QT_IID_IInkTablets, (void**)&iInkTablets); 
    if (SUCCEEDED(hr)) { 
     long count = 0; 
     iInkTablets->get_Count(&count); // <== Takes 5-10 seconds!! 
     for (long i = 0; i < count; ++i) { 
     [...] 
    } 
} 

我正在使用Windows 7,但未使用任何多點觸控功能。任何想法是什麼導致這個問題,我怎麼能避免它?

感謝, 費邊

更新2010-11-14 - 問題解決了

我注意到這個問題,然後與所有基於Qt的應用程序,包括Qt Designer的發生。重新啓動修復了它。

回答

2

此被固定在4.6.3(QTBUG-6007/commit

+0

實際上,一個簡單的重新啓動解決了這個問題 – Fabian 2010-11-14 14:26:54