我已经完成了我的第一个Qt应用程序,并注意到
主.cpp文件中的qApplication构造函数最多需要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) {
[...]
}
}
我正在使用Windows7,但没有使用任何多点触控功能。知道是什么导致了这个问题以及我如何避免它吗?
谢谢,
费边
更新2010-11-14-问题已解决
我注意到所有基于qt的应用程序(包括qt designer)都出现了这个问题。重新启动修复了它。