Qt 文件选择对话框 获取当前工作目录及上一层目录

26 篇文章 0 订阅

打开文件选择对话框时,需要设置默认的打开路径:

    QFileDialog* fd = new QFileDialog(this);
    fd->setWindowTitle(tr("选择工件模型..."));

    if (part_path.isEmpty())
    {
   	    //当前程序运行目录
   	    QDir cur_path(QCoreApplication::applicationDirPath());
	    //当前目录的上一层
	    cur_path.cdUp(); 
	    //转成字符串
	    fileName = cur_path.absolutePath();
	    //添加后续具体路径
	    fileName = fileName + tr("/parts");
    }
    else
    {
    	fileName = part_path;
    }

	 fd->setDirectory(fileName);             //选取默认路径
    QStringList filters;
    filters << "STEP files (*.STEP *.stp)"
            << "IGES files (*.IGS *.igs)"
            << "Any files (*)";
    fd->setNameFilters(filters);//设置过滤条件

    if (fd->exec() == QDialog::Accepted)
    {
        QString path = fd->selectedFiles()[0];//获取完整路径和文件名称  有后缀
        int size = fd->directory().path().size() + 1;//当前路径的长度
        relativePath = fd->directory().path();//获得相对路径   最后不带/
        int path_size = path.size();//完整路径和文件名称的长度
        fileName = path.right(path_size - size);//文件的名称

        QString filetype1 = path.right(4);
        QString filetype2 = path.right(3);

        /*分类型进行数据读取*/
        if ("STEP" == filetype1 || "stp" == filetype2) //STEP格式的工件模型
        {
            pSTEPer->read_STEP_file(path); //OCC读取模型重构
            pSTEPer->show_workpiece_face(); //显示工件
        }
        else  //其余格式的模型,主要是IGES
        {
            read_show_IGES(path);
        }
    }
    delete fd;

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值