当前位置: 首页 > news >正文

寿光网站建设m0536什么网站允许搭建

寿光网站建设m0536,什么网站允许搭建,长沙部分风险区域调整,外包网站建设价格Qt程序使用路径方式和注意事项 更多精彩内容#x1f449;个人内容分类汇总 #x1f448;#x1f449;Qt开发经验 #x1f448;文章目录Qt程序使用路径方式和注意事项[toc]前言一、Windows下Qt程序使用路径1.准备工作2.测试结果二、Linux下Qt程序使用路径1.准备工作2.测试结…Qt程序使用路径方式和注意事项 更多精彩内容个人内容分类汇总 Qt开发经验 文章目录Qt程序使用路径方式和注意事项[toc]前言一、Windows下Qt程序使用路径1.准备工作2.测试结果二、Linux下Qt程序使用路径1.准备工作2.测试结果三、系统路径四、主要代码五、源代码总结 前言 在程序开发中我们会经常使用到路径功能例如读取./路径下的配置文件将日志文件、运行数据保存到当前路径将视频文件保存到系统的视频文件夹下等很多人开发时图方便就使用相对路径然后用户使用时程序就出问题了这就需要文件路径指定正确了否则就会开发不规范调试两行泪路径分为相对路径、绝对路径在Windows下文件/文件夹又有实际路径快捷方式路径在Linux下文件/文件夹又有实际路径软/硬链接路径程序运行方式有Qt编译运行双击可执行程序运行双击快捷方式运行命令行./运行等这些不同的组合就会导致使用的路径存在不同的情况也决定了你写的程序能不能正常的运行所以我就整理了一下Qt中使用路径的方式和注意事项避免以后程序出现问题。实际开发中使用相对路径不是很安全使用绝对路径又由于不同的电脑中路径不一定相同所以最好的方式是将相对路径根据系统环境不同、运行方式不同转为绝对路径或者使用系统中的默认路径例如图片/视频/文件/下载/用户。 在Qt中可通过QDir、QFileInfo、QStandardPaths、QCoreApplication、QApplication、qApp来获取不同的路径。 一、Windows下Qt程序使用路径 1.准备工作 程序编译后可执行程序会输出到bin64文件夹下 将可执行程序UsePath.exe创建一个快捷方式到桌面在桌面创建一个文件夹桌面文件夹然后在这个文件夹中创建一个文件1.xlsx将【桌面文件夹】创建一个快捷方式到当前路径下。 2.测试结果 分别使用Qt编译运行程序、双击可执行程序运行、双击快捷方式、cmd命令行运行四种方式运行UsePath程序 通过对比可以看出前三种运行方式没有什么区别命令行运行时程序的当前路径为命令行窗口当前路径 所以如果使用命令行启动程序程序中使用到相对路径的地方就会有问题。 如果路径是快捷方式使用canonicalPath()无法获取路径会返回空字符串而使用absolutePath()可以获取快捷方式的绝对路径 二、Linux下Qt程序使用路径 1.准备工作 程序编译后可执行程序会输出到bin64文件夹下 在桌面创建一个文件夹桌面文件夹然后在这个文件夹中创建一个文件1.xlsx在bin64文件夹下使用命令ln -s ~/桌面/桌面文件夹/ ./桌面文件夹-软链接 创建一个软连接到当前路径下在程序中QDir、QFileInfo设置软连接的路径。 2.测试结果 由于我测试使用的是ubuntu程序默认不能双击运行需要配置桌面xxx.desktop文件才可以如果是麒麟这些系统支持双击运行所以就测试编译运行、命令行运行两种方式命令行启动如下图所示 在用户路径下使用命令Code/bin64/UsePath运行程序程序当前路径相对路径./是用户目录由于【桌面文件夹-软连接】是在Code/bin64/目录下所以在其它路径下使用命令行启动是找不到当前路径下的文件的这种情况下使用相对路径就会出问题 Qt编译运行启动如下图所示 由Qt编译运行方式启动程序当前路径相对路径./是在可执行程序所在路径所以使用相对没有问题可以找到【桌面文件夹-软连接】在Linux下使用absolutePath()获取软连接的绝对路径是软连接文件所在路径在Linux下使用canonicalPath()获取软连接的绝对路径是软连接指向文件的实际所在路径 三、系统路径 有时候我们需要将文件保存到系统路径下例如 将截图保存到系统的图片文件夹将视频文件保存到系统的视频文件夹将下载的文件保存到系统的下载文件夹将文件保存到桌面路径但是Windows、Linux、MacOS的这些文件夹路径都不相同不同用户的路径也不相同想要获取这些路径怎么办呢Qt提供了QStandardPaths类。 四、主要代码 #include widget.h #include ui_widget.h#include QDebug #include QDir #include QFileInfo #include QMetaEnum #include QStandardPaths #include QPair #include QListWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);this-setWindowTitle(QString(Qt使用路径的方式和注意使用 V%1).arg(APP_VERSION));QListQPairQString, QString paths;paths QPairQString, QString(QDir::currentPath(), QDir::currentPath()); // 返回应用程序当前目录的绝对路径paths QPairQString, QString(QDir::homePath(), QDir::homePath()); // 返回用户主目录的绝对路径paths QPairQString, QString(QDir::rootPath(), QDir::rootPath()); // 返回根目录的绝对路径// Windows下创建一个文件夹快捷方式或linux下创建一个文件夹链接将快捷方式路径写入下列QDirQDir dir(./桌面文件夹 - 快捷方式); // 指定一个路径paths QPairQString, QString(QDir::path(), dir.path()); // 返回输入路径返回的路径可以是绝对路径或相对路径paths QPairQString, QString(QDir::absolutePath(), dir.absolutePath()); // 返回绝对路径(不区分是不是快捷方式/linux链接 ln)// 如果是真实路径效果和absolutePath()相同如果是windows快捷方式则返回空如果是linux软硬链接则返回路径地址的实际路径paths QPairQString, QString(QDir::canonicalPath(), dir.canonicalPath());paths QPairQString, QString(QCoreApplication::applicationDirPath(), QCoreApplication::applicationDirPath()); // 返回包含应用程序可执行文件的目录paths QPairQString, QString(qApp-applicationDirPath(), qApp-applicationFilePath()); // 返回应用程序可执行文件的文件路径// Windows下创建一个文件快捷方式或linux下创建一个文件链接将快捷方式路径写入下列QDirQFileInfo info(./桌面文件夹 - 快捷方式/1.xlsx);// 如果是真实路径效果和absolutePath()相同如果是windows快捷方式则返回空如果是linux软硬链接则返回路径地址的实际路径paths QPairQString, QString(QFileInfo::canonicalPath(), info.canonicalPath());paths QPairQString, QString(QFileInfo::canonicalFilePath(), info.canonicalFilePath());paths QPairQString, QString(QFileInfo::absolutePath(), info.absolutePath()); // 返回输入文件的绝对路径不包含文件名paths QPairQString, QString(QFileInfo::absoluteFilePath(), info.absoluteFilePath()); // 返回输入文件的绝对路径paths QPairQString, QString(QFileInfo::filePath(), info.filePath()); // 返回文件名包括路径可以是绝对路径或相对路径paths QPairQString, QString(QFileInfo::path(), info.path()); // 返回文件的路径。这不包括文件名paths QPairQString, QString(, --------返回给定位置类型的本地化显示名称--------);QMetaEnum m QMetaEnum::fromTypeQStandardPaths::StandardLocation();for(int i0; i m.keyCount(); i){QStandardPaths::StandardLocation location QStandardPaths::StandardLocation(m.value(i));// 返回给定位置类型的本地化显示名称如果找不到相关位置则返回空QString。paths QPairQString, QString(m.valueToKey(m.value(i)), QStandardPaths::displayName(location));}paths QPairQString, QString(, --------返回类型文件应写入的目录--------);for(int i0; i m.keyCount(); i){QStandardPaths::StandardLocation location QStandardPaths::StandardLocation(m.value(i));// 返回类型文件应写入的目录如果无法确定位置则返回空字符串。paths QPairQString, QString(m.valueToKey(m.value(i)), QStandardPaths::writableLocation(location));}for(int i 0; i paths.count(); i){ui-tableWidget-insertRow(i); //按需求加行ui-tableWidget-setItem(i, 0, new QTableWidgetItem(paths.at(i).first)); // 插入第一列数据ui-tableWidget-setItem(i, 1, new QTableWidgetItem(paths.at(i).second)); // 插入第二列数据}//自适应宽度ui-tableWidget-horizontalHeader()-setSectionResizeMode(QHeaderView::Stretch);ui-tableWidget-horizontalHeader()-setSectionResizeMode(0, QHeaderView::ResizeToContents); }Widget::~Widget() {delete ui; } 五、源代码 githubgitee 总结 程序开发中细节决定成败相对路径、绝对路径不是我们想的那么简单。 整理的路径使用方式和注意事项就到这里如果有不足欢迎私信我。
http://www.dnsts.com.cn/news/149919.html

相关文章:

  • 怎么给网站做访问量自建网站怎么做后台管理系统
  • 网站开发与推广遵义网站建设哪家好
  • 广州网站建设公司网站哪些网站可以接任务做兼职
  • 阿里云服务器建立网站吗vs做网站登录界面
  • 上海建筑工程有限公司有哪些上优化
  • 专门做汽车配件的网站js 获取 网站路径
  • 投资公司网站设计保定做网站多钱
  • H5网站整站北京贸易公司网站制作
  • 网站的logo怎么换关于旅游网站建设的方案
  • 安阳网站自然优化wordpress single模板
  • wordpress怎么搜索网站搭建网站怎么挣钱
  • 在百度上注册公司网站要多少钱成都网站推广营销微信
  • 创建平台网站下载链接网站 域名空间 调试
  • 电子商务网站建设服务外包佛山自助建站软件
  • 网站图片自动切换怎么做定制网站开发报价单
  • 域名注册以后怎样做网站erp管理软件开发公司
  • 甜品网站建设规划网站百度权重查询
  • 张家港建设局门户网站陕西省建设厅三类人员报名网站
  • 如何把网站做的更好wordpress搬家404
  • 啊宝贝才几天没做网站网站建设公司市场定位
  • 外国网站在内地做seo2020最成功的网络营销
  • 网站开发与设计实训报告最好看免费观看高清大全宫崎骏
  • 陕西城乡建设部网站深圳市无限空间工业设计有限公司
  • 建设网站采用的网络技术企业营销策划书模板范文
  • 网站开发的形式合肥网站建设的公司
  • 购物网站页面设计新华网官网首页
  • 外贸网站建站那家公司好网站建设项目需求说明书
  • 收录好的网站有哪些保山做网站
  • 化工网站制作网站建设资源平台
  • 专题网站开发报价怎么做一直弹窗口网站