2
A
回答
4
我会通过继承模型,提供额外的列和数据提供给它启动。
所以至少我会重新实现columnCount()和data()在这两种情况下调用基类和操作相应的结果。
class yourSystemModel : public QFileSystemModel
{
Q_OBJECT
int columnCount(const QModelIndex& parent = QModelIndex()) const
{
return QFileSystemModel::columnCount()+1;
}
QVariant data(const QModelIndex& index,int role) const
{
if(!index.isValid()){return QFileSystemModel::data(index,role);}
if(index.column()==columnCount()-1)
{
switch(role)
{
case(Qt::DisplayRole):
{return QString("YourText");}
case(Qt::TextAlignmentRole):
{return Qt::AlignHCenter}
default:{}
}
}
return QFileSystemModel::data(index,role);
}
}
官方文档大纲一定的基础,以重新实现最小为抽象项目的模式,但在这种情况下,你可以用少得多的逃跑。 http://doc.qt.digia.com/stable/qabstractitemmodel.html - 子类化部分。
相关问题
- 1. 将GMP添加到自己的库中
- 2. 将我自己的类型项添加到Haskell的列表中?
- 3. 如何在QFileSystemModel中添加自定义行?
- 4. Qt将Widget添加到GraphicsView?
- 5. 将MySql.Data.dll添加到Qt C++?
- 6. 如何在QTreeView + QFileSystemModel上添加CheckBox
- 7. 添加您自己的helpers.php到composer.json
- 8. Makefile将自己添加为目标
- 9. 在Paraview中添加自己的GUI
- 10. 自己的监听器添加到列表
- 11. 可以UIViewController自己添加到UINavigationController
- 12. 将类别添加到我自己的类
- 13. Chrome将自己的时间轴添加到videojs播放器
- 14. 如何将自己的图像添加到PhotoScroller示例?
- 15. 将我自己的控件添加到工具箱
- 16. Android,iPhone:将自己的广告添加到应用程序
- 17. 将自己复杂的表单项添加到drupal表单中
- 18. 如何将我自己的方法添加到HTMLElement对象?
- 19. 如何将我自己的域添加到流星银河?
- 20. 如何将我自己构建的Breeze添加到Apache Spark?
- 21. 将WYSIWYG添加到并非您自己的网站?
- 22. 将自己的代码添加到Visual Studio安装项目?
- 23. 将我自己的描述属性添加到Pandas DataFrame
- 24. 将自己的属性添加到HTML元素可以吗?
- 25. JSF:何时将ClientBehavior添加到自己的组件
- 26. 如何将我自己的项目添加到菜单/墙纸?
- 27. 如何将您自己的编程语言添加到IDE中?
- 28. 是否可以将自己的WordNet添加到库中?
- 29. 如何将自己的标签添加到wordpress第一级菜单列表中?
- 30. Qt - 将文件添加到项目
谢谢!这是我需要的。但一个解决方案:我需要检查索引父(treeview模型),所以工作示例是:if(index.column()== columnCount(index.parent()) - 1) – Dibo 2013-02-20 10:27:45