- 3831
- 积分
- 173
- 粉丝
- 226
- 获赞
- 42
- 评论
- 974
- 收藏
分类专栏
QClipboard 剪贴板
阿白啊%: 通俗易懂
lwei2: 好的,多谢楼主,第一点,发送信号个数受到QFileSystemWatcher的directoryChanged(QString)影响,一旦拷贝1000个照片到监控的目录,它会发送1000个信号给槽,在这个槽里,我定义了一个开启线程的信号,用线程获取文件信息,这个过程办法避免。第二点,我在线程处理完后发送更新的文件信息返回给QTableView,已在模型里开启定时器 void CustomTableModel::updateModel(QList<FileInfo> recordList) { m_recordList = recordList; QTimer::singleShot(1000, this, [&](){ this->beginResetModel(); this->endResetModel(); }); }[code=cpp] [/code] 不过在更新到模型上的时间还是会卡,不知道是不是因为我给定时器太短时间了……
求道玉: 1.如果信号量很大,就不要在槽函数中做太重的操作了。 2.不要实时刷新,你既然使用的是view,肯定有相应的model,收到文件变化的信号后,把数据加到model里,不要立马update view,搭配定时器,周期性刷新试试呢
lwei2: 楼主,请教一下:用QFileSystemWatcher监控某个目录,然后往监控的目录上拷贝1000个文件,一旦该监控目录发生变化了,就立刻向QTableView发送信号,并更新它在该监控目录上的文件变化,因为一下子发送的信号太多,连接的同一个槽函数,导致一下子界面卡住了,请问你有什么办法可以优化吗?
买的挂什么时候到账: 博主,请问这个demo可以分享一下吗。想从代码中再学习。