Qtreewidget点击子item获得绝对路径

在对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<text(0); //获取itemfile名称
        itemfile=itemfile->parent(); //将itemfile指向父item
    }
    QString strpath;
    //cout<     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中
}
         

Qtreewidget点击子item获得绝对路径_第1张图片


你可能感兴趣的:(QT编程)