QT:实现图片选择器

一、效果图

在这里插入图片描述

二、用到的类

qApp:可以快速获取到项目目录位置。
QSettings :编写config文件,记录上次打开图片的位置,下次打开图片会从上次的位置查找图片。
QPixmap:用于图片的缩放,防止图片过小,显示区域不能完全覆盖。

三、代码

void Widget::on_btnOpen_clicked()
{//找到配置文件路径QString config_path = qApp->applicationDirPath() + "/config/setting.ini";QSettings *pIniset = new QSettings(config_path,QSettings::IniFormat);//设置上次路径(没有就默认)QString last_path = pIniset->value("/LastPath/path").toString();if(last_path.isEmpty()){//图片标准路径last_path = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);}QString fileName = QFileDialog::getOpenFileName(this,"打开图片",last_path,"图片(*.jpg *png)");if(fileName.isEmpty()){return;}//记录图片目录位置int end = fileName.lastIndexOf("/");QString _path = fileName.left(end);pIniset->setValue("/LastPath/path",_path);//改变图片大小格式ui->line_filepath->setText(fileName);QPixmap *pix = new QPixmap(fileName);pix->scaled(ui->lable_showpic->size(),Qt::KeepAspectRatio);ui->lable_showpic->setScaledContents(true);ui->lable_showpic->setPixmap(*pix);//释放资源delete pIniset;pIniset = nullptr;delete pix;pix = nullptr;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468194.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【电路笔记】-并联电感

并联电感 文章目录 并联电感1、概述2、并联电感示例13、互耦并联电感器4、并联电感示例25、并联电感示例36、总结当电感器的两个端子分别连接到另一个或多个电感器的每个端子时,电感器被称为并联连接在一起。 1、概述 所有并联电感器上的压降将是相同的。 然后,并联的电感器…

JavaScript中有哪些不同的数据类型

在 JavaScript 中,数据类型是一种用来表示数据的分类,它决定了我们可以对这个数据类型执行哪些操作。在 JavaScript 中有以下几种不同的数据类型: 基本数据类型 字符串 (String):表示一组字符,可以使用引号&#xff08…

【python学习篇1】python基本语法

一、第一个python程序 在控制台上面输出“你好 python”。 在venv目录下面,新建一个Main1.python的文件夹。 然后在文件当中使用print函数输出一句命令即可。 然后,在Main.py下面,右键一下,运行Main1.py:即可看到下…

java客运管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java客运管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&#…

比特币突然大涨

作者:秦晋 2月9日,除夕夜,比特币突然大涨,最高涨至48219美元,涨幅超6%。据CNBC报道,本周比特币已经上涨10.76%,创下自12月8日以来的最佳的一周。本周ETH上涨8.46%,成为自1月12日以来…

Acwing---844.走迷宫

走迷宫 1.题目2.基本思想3.代码实现 1.题目 给定一个 nm 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。最初,有 一个人位于左上角 (1,1)处,已知该…

Java并发基础:ConcurrentLinkedDeque全面解析!

内容概要 ConcurrentLinkedDeque类提供了线程安全的双端队列操作,支持高效的并发访问,因此在多线程环境下,可以放心地在队列的两端添加或移除元素,而不用担心数据的一致性问题。同时,它的内部实现采用了无锁算法&…

G85银昆高速宝鸡天台山隧道群荣获交通运输部科技示范工程,北京恒星科通隧道无线通信与广播系统应用于该项目

2023年9月12日,全国交通运输科技示范工程现场推进会在河南省平顶山市召开,会上为全国已通过验收的10项科技示范工程进行了授牌,其中由陕西交控集团负责实施的“秦岭天台山超长隧道群安全绿色科技示范工程”名列其中。 【授牌仪式现场】 据了解…

代码随想录算法训练营DAY17 | 二叉树 (4)

一、LeetCode 110 平衡二叉树 题目链接: 110.平衡二叉树https://leetcode.cn/problems/balanced-binary-tree/ 思路:设置深度计算函数,进行递归处理。 class Solution {public boolean isBalanced(TreeNode root) {if(root null){return true;}boolean…

【原创 附源码】Flutter集成谷歌支付详细流程(附源码)

最近有时间,特意整理了一下之前使用过的Flutter平台的海外支付,附源码及demo可供参考 这篇文章只记录Google支付的详细流程,相关Flutter文章链接如下: 【原创 附源码】Flutter安卓及iOS海外登录--Google登录最详细流程 【原创 附…

【C语言】实现栈

目录 (一)栈 (二)头文件 (三)功能实现 (1)初始化栈 (2) 栈的销毁 (3)压栈 (4) 出栈 (5&a…

【王道数据结构】【chapter5树与二叉树】【P158t9】

假设二叉树采用二叉链存储结构存储&#xff0c;设计一个算法&#xff0c;求先序遍历序列中第k个结点的值 #include <iostream> #include <stack> typedef struct treenode{char data;struct treenode *left;struct treenode *right; }treenode,*ptreenode;ptreenod…