我已经完成了我的第一个Qt应用程序,并注意到main.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) {
[...]
}
}
我使用的是Windows 7,但没有使用任何多点触控功能。知道导致这个问题的原因以及如何避免这个问题吗?
谢谢, 费边
更新2010-11-14 - 问题已解决
我注意到所有基于Qt的应用程序(包括Qt Designer)都会出现问题。重新启动修复了它。