我正在使用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