建设有限公司网站青岛网站建设机构

张小明 2026/3/2 21:45:26
建设有限公司网站,青岛网站建设机构,建设银行企业网站银行,建设银行北京市财满街分行网站void Qt_operateping::onOpenFileClicked() {// 打开文件对话框#xff0c;供用户选择图片文件// getOpenFileName() 函数的四个参数依次是#xff1a;// 1. 父组件#xff0c;通常传递当前对象 this// 2. 对话框标题// 3. 初始打开的文件路径#xff08;此处是 D 盘根目录…void Qt_operateping::onOpenFileClicked() { // 打开文件对话框供用户选择图片文件 // getOpenFileName() 函数的四个参数依次是 // 1. 父组件通常传递当前对象 this // 2. 对话框标题 // 3. 初始打开的文件路径此处是 D 盘根目录 // 4. 过滤器限制显示的文件类型这里是 PNG 和 JPG 格式的图片 QString filename QFileDialog::getOpenFileName(this, 请选择图片, D:/, 图片(*.png *.jpg)); // 如果用户没有选择任何文件直接返回 if (filename.isEmpty()) { return; } // 将选择的文件路径显示在界面上的 QLineEdit 中 //lineEdit_path-setText(filename); ui.lineEdit-setText(filename); // 将选择的图片加载成 QPixmap 对象并显示在 QLabel 中 //label_image-setPixmap(QPixmap(filename)); ui.label_2-setPixmap(QPixmap(filename)); } void Qt_operateping::onOpenFileClicked1() { // 获取应用程序的配置文件路径存放在当前应用的目录下 QString config_path qApp-applicationDirPath() /config/Setting.ini; qDebug() config_path; // 输出配置文件路径便于调试查看 // 使用 QSettings 读取 ini 文件中的配置信息文件不存在时会自动创建 QSettings* pIniSet new QSettings(config_path, QSettings::IniFormat); // 从配置文件中读取上次使用的路径如果没有记录则返回空字符串 QString lastPath pIniSet-value(/LastPath/path).toString(); // 如果没有上次记录的路径使用系统默认的图片目录 if (lastPath.isEmpty()) { // QStandardPaths::writableLocation 获取系统中常用路径 lastPath QStandardPaths::writableLocation(QStandardPaths::PicturesLocation); } // 打开文件选择对话框初始路径设置为 lastPath QString filename QFileDialog::getOpenFileName(this, 请选择图片, lastPath, 图片(*.png *.jpg)); // 如果用户没有选择文件直接返回 if (filename.isEmpty()) { return; } // 将选择的文件路径显示在界面上的文本框中 ui.lineEdit-setText(filename); QPixmap* pix new QPixmap(filename); pix-scaled(ui.label_2-size(), Qt::KeepAspectRatioByExpanding); ui.label_2-setScaledContents(true); // 显示选择的图片 //ui.label_2-setPixmap(QPixmap(filename)); ui.label_2-setPixmap(*pix); // 获取文件路径的目录部分更新配置文件中的路径 int end filename.lastIndexOf(/); QString _path filename.left(end); pIniSet-setValue(/LastPath/path, _path); // 删除 QSettings 对象释放内存 delete pIniSet; pIniSet nullptr; qDebug() _path; // 输出更新后的路径便于调试查看 } void Qt_operateping::onOpenFileClicked2() { // 获取应用程序的配置文件路径存放在当前应用的目录下 QString config_path qApp-applicationDirPath() /config/Setting.ini; qDebug() config_path; // 输出配置文件路径便于调试查看 // 使用 std::unique_ptr 管理 QSettings 对象自动管理内存 std::unique_ptrQSettings pIniSet(new QSettings(config_path, QSettings::IniFormat)); // 从配置文件中读取上次使用的路径 QString lastPath pIniSet-value(/LastPath/path).toString(); // 如果没有上次记录的路径使用系统默认的图片目录 if (lastPath.isEmpty()) { lastPath QStandardPaths::writableLocation(QStandardPaths::PicturesLocation); } // 打开文件选择对话框初始路径设置为 lastPath QString filename QFileDialog::getOpenFileName(this, 请选择图片, lastPath, 图片(*.png *.jpg)); // 如果用户没有选择文件直接返回 if (filename.isEmpty()) { return; } // 将选择的文件路径显示在界面上的文本框中 ui.lineEdit-setText(filename); // 显示选择的图片 ui.label_2-setPixmap(QPixmap(filename)); // 获取文件路径的目录部分更新配置文件中的路径 int end filename.lastIndexOf(/); QString _path filename.left(end); pIniSet-setValue(/LastPath/path, _path); qDebug() _path; // 输出更新后的路径便于调试查看 }QSettings这是 Qt 提供的一个便捷的类用于保存应用程序的配置信息支持使用 ini 文件或者注册表。这里使用 ini 文件存储用户上次选择的路径。在这个例子中配置文件是Setting.ini其中存储了用户上次打开文件的路径。pIniSet-value(/LastPath/path).toString()读取配置中的路径值。pIniSet-setValue(/LastPath/path, _path)在用户选择完图片后保存其路径。QStandardPaths::writableLocation()用于获取操作系统中特定类型的文件夹例如图片、文档等。在这里当用户第一次打开程序时程序会自动使用系统的图片目录作为初始路径。**QString::lastIndexOf()**** 和 ****QString::left()**用于字符串的操作lastIndexOf()查找路径中的最后一个/left()截取文件路径的目录部分。特点与改进在第一个的基础上添加了路径记忆功能每次打开文件选择对话框时都会显示上次用户选择的文件夹大大提高了用户体验。同时它将路径存储在 ini 文件中确保下次程序启动时可以继续记住路径。2、使用智能指针优化内存管理在2中我们手动new和delete了QSettings对象虽然这能正常工作但容易导致内存泄漏问题。为了安全管理内存2使用了 C11 引入的智能指针std::unique_ptr从而自动管理对象的生命周期。std::unique_ptr智能指针是 C11 引入的内存管理工具能够在对象不再需要时自动释放内存从而避免内存泄漏。在这里使用std::unique_ptr来管理QSettings对象的生命周期无需手动delete。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站的代码有哪些做logo赚钱的网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个展示Hutool实战案例的Web应用,包含:1. 文件批量处理案例;2. 数据加密解密案例;3. HTTP客户端使用案例;4. 日期时…

张小明 2026/1/21 12:35:08 网站建设

网站的区别郑州妇科医院正规有哪些

浏览器水印终极解决方案:watermark-js-plus实战指南 【免费下载链接】watermark-js-plus watermark for the browser 项目地址: https://gitcode.com/gh_mirrors/wa/watermark-js-plus 在日常Web开发中,你是否曾遇到这样的困境:重要文…

张小明 2026/1/21 12:34:37 网站建设

仿站侵权吗wordpress 主题 mirana

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Flink面试题实战模拟器,包含以下功能:1. 提供一系列真实的Flink面试题;2. 对每个问题给出分步解决方案;3. 展示优化前后的代…

张小明 2026/2/28 12:22:27 网站建设

seo整站优化技术培训昌邑营销型网站建设

还在为无法保存心仪的视频和音乐而烦恼吗?智能资源捕获器为你提供一站式跨平台资源获取方案,通过先进的网络分析技术,让微信视频号、抖音无水印、快手高清视频、酷狗音乐等热门资源触手可及。 【免费下载链接】res-downloader 资源下载器、网…

张小明 2026/1/21 12:33:35 网站建设

京东网站制作优点完整网站开发

基于 Qt6 Multimedia 的实时音频流 RTP 传输系统架构与实现深度研究报告 1. 执行摘要 随着网络通信技术的飞速发展,实时音频传输(Real-Time Audio Streaming)已成为现代通信基础设施的核心组成部分,广泛应用于 IP 语音&#xff…

张小明 2026/1/21 12:33:05 网站建设

有哪些建设工程类网站怎么免费建个免费的站点

第一章:为什么顶尖量子工程师都在用VSCode运行Jupyter模拟?真相曝光 在量子计算快速发展的今天,越来越多的顶尖工程师选择在 VSCode 中集成 Jupyter Notebook 进行量子模拟开发。这一趋势的背后,是效率、灵活性与生态整合的完美结…

张小明 2026/1/21 12:32:34 网站建设