1

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

0 回答 0