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中
}
首先,需要建立一个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中
}
相关文章推荐
- QT5.6.0+OenCV3.1.0+windows10环境配置
- smart210 arm嵌入式qt开发环境搭建
- QTextEdit/QPlainTextEdit添加文字超出视图后,滚动条自动移至最底部
- 第7课 Qt中的坐标系统
- Qt程序发布到其他电脑上无法运行解决办法(一)
- QT基础(三)----QPainter画图功能 & 画图小项目
- Ubuntu14.04安装Qt+Opencv2.4.9
- Qt 基础:国际化
- QT加载图片和移动控件
- qt设置控件的ICON
- Qt获取office文件内容
- QT基础(二)----鼠标、键盘事件处理机制、信息拦截机制
- 关于安装QT VS2013中我遇到的各种问题
- QT学习笔记----解决QT无法显示汉字问题
- 在 Qt 中搭建 qwt (超详版)
- Qt webEngine的前世今生
- Qt Creator和MinGW编译OpenCV
- QT学习之路(一)
- Qt4.8下应用OpenCV2.4.4搭建环境详细步骤(win7系统)
- qt 控件属性修改