Qt UI因QFileSystemModel性能不佳而停滞不前

时间:2013-07-11 18:41:39

标签: qt user-interface ui-thread qfilesystemmodel

我正在使用QFileSystemModel在Mac上解析包含20,000多个文件和子目录的目录结构。 QFileSystemModel需要大约8-10秒来填充,在此期间UI停止。根据Qt文档,文件系统解析是在一个单独的线程中完成的。所以我想知道我是否做错了什么来阻止UI或这是一个已知的问题。请查看下面的堆栈跟踪,这是主线程的快照,而QFileSystemModel正在遍历目录结构并且UI停止。 Qt库不是调试库,我只能管理没有任何调试符号的堆栈跟踪,但希望这可能是找出这里可能出错的线索。

0   _ISGetCGImageRefForISImageRef
1   PlotISImageRefInContext
2   PlotIconRefInContext
3   qt_mac_convert_iconref
4   qt_mac_constructQIconFromIconRef    
5   QFileIconProviderPrivate::getMacIcon
6   QFileIconProvider::icon
7   QFileInfoGatherer::getInfo
8   QFileSystemModelPrivate::_q_fileSystemChanged   
9   QFileSystemModel::qt_metacall
10  QObject::event
11  QFileSystemModel::event
12  QApplicationPrivate::notify_helper
13  QApplication::notify
14  QCoreApplication::notifyInternal
15  QCoreApplicationPrivate::sendPostedEvents
16  __CFRunLoopDoSources
17  __CFRunLoopRun
18  CFRunLoopRunSpecific
19  RunCurrentEventLoopInMode
20  ReceiveNextEventCommon
21  BlockUntilNextEventMatchingListInMode
22  _DPSNextEvent
23  -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
24  -[NSApplication run]
25  QEventDispatcherMac::processEvents
26  QEventLoop::processEvents
27  QEventLoop::exec
28  QCoreApplication::exec
29  main    

0 个答案:

没有答案