我已经完成了我的第一个Qt应用程序,并注意到QApplication构造函数在main.cpp文件中需要10秒的才能执行。这导致了一个恼人的启动延迟,我甚至不能显示一个启动屏幕。
分析此延迟时,发现initializeMultitouch_sys方法在QApplicationPrivate类中是的罪魁祸首。具体来说,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。重新启动修复了它。
发布于 2010-11-14 12:52:31
这在4.6.3 (QTBUG-6007/提交)中得到了修正。
https://stackoverflow.com/questions/4177530
复制相似问题