您的位置:首页 > 编程语言 > Qt开发

Qtreewidget点击子item获得绝对路径

2016-04-25 10:51 471 查看
在对QTreewidget编写过程中,需要用到相应子item的路径,便于后续对该item文件的访问。

首先,需要建立一个connect(ui->treeWidget_2,SIGNAL(itemClicked(QTreeWidgetItem*,int)), this,SLOT(checkself(QTreeWidgetItem* ,int)));当点击到该item时,自动执行SLOT内函数,获取文件路径。测试代码得到的路径会显示在plainTextEdit内。

具体SLOT(checkself(QTreeWidgetItem* ,int))实现代码如下:

void MainWindow::checkself(QTreeWidgetItem *item ,int count)

{

ui->plainTextEdit->clear(); //将plainTextEdit内容清空

/*得到文件路径*/

QStringList filepath;

QTreeWidgetItem *itemfile=item; //获取被点击的item

while(itemfile!=NULL)

{

filepath<<itemfile->text(0); //获取itemfile名称

itemfile=itemfile->parent(); //将itemfile指向父item

}

QString strpath;

//cout<<filepath.size()<<endl;

for(int i=(filepath.size()-1);i>=0;i--) //QStringlist类filepath反向存着初始item的路径

{ //将filepath反向输出,相应的加入’/‘

strpath+=filepath.at(i);

if(i!=0)

strpath+="/";

}

ui->plainTextEdit->insertPlainText(strpath); 将路径显示到plainTextEdit中

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: