项目中需要实现的资源管理器做完了,使用的是QT,实现TreeView与ListView数据统一显示文件。现在总结一下开发过程中遇到的一些问题以及我的解决方法。
1. TreeView与ListView显示文件
Qt的QTreeWidget和QListWidget接口很简单易用。但是如果用来实现文件资源管理使用它们不是很方便。QT提供了model-view模式。使用model(QFileSystemModel)和view(QTreeView & QListView)来实现资源管理更为简单方便,可以轻松的实现QTreeView QListView同时更新。具体用法如下:
m_dir_model.setRootPath(QDir::currentPath());
m_dir_model.setReadOnly(true);m_resource_tree->setModel(&m_dir_model);
m_resource_tree->setRootIndex(m_dir_model.index(m_root_path));m_current_listview->setModel(&m_dir_model);
m_current_listview->setRootIndex(m_dir_model.index(m_root_path));这样QTreeView和QListView就可以显示当前路径下文件和文件夹信息。
还有个功能是点击QTreeView的某一个文件夹,更新QListView显示的内容。这个功能实现使用信号槽。
connect(m_resource_tree, SIGNAL(clicked(QModelIndex)), this, SLOT(UpdateCurrentTab(const QModelIndex&)));
QT实现资源管理器总结
最新推荐文章于 2024-06-29 14:19:19 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)