在我的应用程序中,我有一个类似于标准Windows资源管理器的文件管理器 .
结构是:
QScrollArea
QWidget
EFile
等等...
每个EFile小部件包含5个QLabel . 因此,当文件数超过30时,我在创建它时会有一点延迟 . 我决定只创建可见文件并在滚动时创建隐藏文件或在可见时调整大小 . 但这不是一个解决方案 - 延迟仍然存在(尽管它当然减少了) .
问题是如何在显示文件时修改我的应用程序以消除延迟 .
如果它确实是您要实现的文件资源管理器,则应考虑将 QFileSystemModel 与 QTreeView 结合使用,如下例所示:http://qt-project.org/doc/qt-4.8/qfilesystemmodel.html
QFileSystemModel
QTreeView
这样可以省去很多麻烦 .
答案是您不构成QLabel的自定义小部件 . 相反,您覆盖paint()函数并使用QPainter绘制文本/ pixmaps . 它的工作量不如听起来那么多 . Qt示例/教程中有大量示例 .
2 回答
如果它确实是您要实现的文件资源管理器,则应考虑将
QFileSystemModel
与QTreeView
结合使用,如下例所示:http://qt-project.org/doc/qt-4.8/qfilesystemmodel.html
这样可以省去很多麻烦 .
答案是您不构成QLabel的自定义小部件 . 相反,您覆盖paint()函数并使用QPainter绘制文本/ pixmaps . 它的工作量不如听起来那么多 . Qt示例/教程中有大量示例 .