(1)动态文件加载,开启一个线程读文件,这样就不会因为读取文件时间长导致界面卡死;在QTableWidge采用分页显示,每次交互只加载需要在屏幕上显示的那些行数据,表格固定的是一百行,每次操作对这一百行数据进行刷新,虚拟出完整表格的效果。
源码:
(2)先去读全部的,再进行分页显示,只在表格需要在屏幕上显示的那些行填充数据,不显示的不填充数据,表格行数是数据的行数。
源码:
(3)先去读全部的,再进行分页显示,表格固定的是一百行,每次操作对这一百行数据进行刷新,虚拟出完整表格的效果。
源码:
(4)文件映射
如果文件很大,读取全部的数据会占用很大内存,推荐文件映射的方法,每次交互只读需要显示的文件数据。文件映射放置在一个线程中,动态加载映射(也可以放置在主线程中,1G左右的文件,大概在1.2s左右可以完成文件映射);再进行分页显示,表格固定的是一百行,每次操作对这一百行数据进行刷新,虚拟出完整表格的效果。
源码:
没有合适的资源?快使用搜索试试~ 我知道了~
QTableWidget大数据文件 文件映射mmap
共113个文件
tlog:26个
obj:23个
cpp:18个
2星 需积分: 11 36 下载量 65 浏览量
2023-03-28
15:08:22
上传
评论 1
收藏 14.96MB RAR 举报
温馨提示
QTableWidget大数据文件显示 文件映射mmap 如果文件很大,读取全部的数据会占用很大内存,推荐文件映射的方法,每次交互只读需要显示的文件数据。文件映射1G左右的文件,大概在1.2s左右可以完成文件映射;再进行分页显示,表格固定的是一百行,每次操作对这一百行数据进行刷新,虚拟出完整表格的效果。 测试:QTableWidge分页显示1千万行数据,建立mmap文件映射,只读取需要显示的部分文件内容,此种方式速度快,占用内存小,内存占用149MB左右,每次只读取显示部分的数据,推荐此种方式。
资源推荐
资源详情
资源评论
收起资源包目录
QTableWidget大数据文件 文件映射mmap (113个子文件)
moc_LoadFileData.cpp 5KB
QCustomTableWidget.cpp 5KB
moc_QCustomTableWidget.cpp 5KB
moc_LoadFileData.cpp 5KB
moc_QCustomTableWidget.cpp 4KB
moc_ScrollBar.cpp 4KB
moc_ScrollBar.cpp 4KB
moc_TableWidget.cpp 4KB
moc_FileFastReadLines.cpp 3KB
moc_FileFastReadLines.cpp 3KB
moc_TestTableWidget.cpp 3KB
moc_TestTableWidget.cpp 3KB
qrc_TestTableWidget.cpp 1KB
qrc_TestTableWidget.cpp 1KB
LoadFileData.cpp 575B
TestTableWidget.cpp 555B
ScrollBar.cpp 472B
main.cpp 189B
FileCoreLib.dll 87KB
FileCoreLib.dll 28KB
.editorconfig 53B
TestTableWidget.exe 153KB
FileCoreLib.exp 7KB
FileCoreLib.exp 7KB
TestTableWidget.vcxproj.filters 3KB
.gitignore 112B
ui_QCustomTableWidget.h 2KB
ui_QCustomTableWidget.h 2KB
ui_TestTableWidget.h 2KB
ui_TestTableWidget.h 2KB
FileMappingResolution.h 2KB
QCustomTableWidget.h 1KB
LoadFileData.h 413B
TestTableWidget.h 410B
ScrollBar.h 407B
filecorelib_global.h 249B
TestTableWidget.ilk 1.45MB
FileCoreLib.ilk 537KB
TestTableWidget.lastbuildstate 208B
TestTableWidget.lastbuildstate 206B
FileCoreLib.lib 12KB
FileCoreLib.lib 12KB
qt_work.log 4KB
TestTableWidget.Build.CppClean.log 4KB
qt_work.log 3KB
TestTableWidget.log 330B
TestTableWidget.log 176B
QCustomTableWidget.obj 303KB
TableWidget.obj 284KB
TestTableWidget.obj 159KB
moc_TableWidget.obj 117KB
moc_QCustomTableWidget.obj 107KB
ScrollBar.obj 104KB
LoadFileData.obj 103KB
QCustomTableWidget.obj 94KB
moc_TestTableWidget.obj 83KB
main.obj 81KB
moc_ScrollBar.obj 73KB
moc_LoadFileData.obj 64KB
moc_FileFastReadLines.obj 62KB
TestTableWidget.obj 48KB
ScrollBar.obj 15KB
LoadFileData.obj 8KB
moc_QCustomTableWidget.obj 7KB
qrc_TestTableWidget.obj 6KB
moc_LoadFileData.obj 5KB
moc_ScrollBar.obj 5KB
moc_TestTableWidget.obj 3KB
main.obj 3KB
qrc_TestTableWidget.obj 1KB
TestTableWidget.pdb 2.81MB
vc141.pdb 2.67MB
FileCoreLib.pdb 1.12MB
qtvars_x64_Release.props 4KB
qtvars_x64_Debug.props 4KB
TestTableWidget.qrc 75B
TestTableWidget.sln 1KB
CL.read.1.tlog 769KB
CL.read.1.tlog 326KB
TestTableWidget.write.1u.tlog 43KB
CL.command.1.tlog 39KB
CL.write.1.tlog 18KB
CL.command.1.tlog 17KB
link.read.1.tlog 13KB
link.command.1.tlog 8KB
CL.write.1.tlog 5KB
TestTableWidget.write.1u.tlog 5KB
link.write.1.tlog 4KB
moc.write.1u.tlog 1KB
moc.write.1u.tlog 1KB
uic.write.1u.tlog 646B
uic.write.1u.tlog 638B
moc.read.1u.tlog 542B
moc.read.1u.tlog 542B
rcc.write.1u.tlog 326B
rcc.write.1u.tlog 322B
uic.read.1u.tlog 288B
uic.read.1u.tlog 288B
rcc.read.1u.tlog 144B
rcc.read.1u.tlog 144B
共 113 条
- 1
- 2
资源评论
- youmengying2023-08-071、加载很快,用作加载的例子还可以; 2、问题:如何选择不同页面的、不连续的几行?
- NcepuKZH2023-11-20资源没有给全,核心分块读取代码没有给出 #毫无价值
- LXQ_xiaochongzi2024-01-04重要的代码没给出来,骗积分 #标题与内容不符
- love121722052023-09-30资源没有给全,核心分块读取代码没有给出 #毫无价值
江南又旧雨
- 粉丝: 182
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功