基于QStandardItemModel的工程目录实现与响应

15 篇文章 0 订阅

设计的思路:

1.TreeView :public QTreeView

   并在类中this->setModel()

   就可以实现出来 树状结构 的形状

2.点击树桩的item,在主目录显示

3. 加载图片、点云内容在树状目录上更新

                                

                                

点击显示就不贴图了。

代码

1.建立形状

void NewTreeView::init(QString name) {

	mainModel = new QStandardItemModel;
	mainModel->setHorizontalHeaderLabels(QStringList() << QString::fromLocal8Bit("工程"));

	QStandardItem*project = new QStandardItem(name);
	project->setData(1,257);
	mainModel->appendRow(project);

	rootImage = new QStandardItem(QString::fromLocal8Bit("图像"));
	rootImage->setData(1);
	project->appendRow(rootImage);

	rootPoint = new QStandardItem(QString::fromLocal8Bit("点云"));
	rootPoint->setData(1);
	project->appendRow(rootPoint);

	rootMatch = new QStandardItem(QString::fromLocal8Bit("拼接图"));
	rootMatch->setData(1);
	project->appendRow(rootMatch);
	

	QModelIndex parent;
	this->setModel(mainModel);
	
}


建立槽函数,加载图片后,响应这个槽函数。
void NewTreeView::InsertRowsSlot(const QString& rowName,const int &contentFlag) {
	/***
	contentFlag :1 represent image
	             2 represent point txt
				 3 matched iamges
	*****/
	switch (contentFlag) {
	case 1:
	{
		QStandardItem *item = new QStandardItem(rowName);
		rootImage->appendRow(item);
		break;
	}
	case 2: 
	{

		QStandardItem *itemPoint = new QStandardItem(rowName);
		rootImage->appendRow(itemPoint);
		break;
	}
	case 3: 
	{
        QStandardItem *itemMatch = new QStandardItem(rowName);
		rootImage->appendRow(itemMatch);
		break;

	}
		

	}
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值