QT代码图片打开
#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QSettings>
#include <QDebug>
#include <QStandardPaths>
#include <QTextCodec>
Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
ui->label_image->clear();
}
Widget::~Widget()
{
delete ui;
}
void Widget::open1(){
QString filePath = QFileDialog::getOpenFileName(this, "打开", "D:/", "图片(*.jpg *.png)");
if (filePath.isEmpty()){
return;
}
ui->lineEdit_path->setText(filePath);
ui->label_image->setPixmap((QPixmap(filePath)));
}
void Widget::open2(){
//读取config文件夹配置文件
QString configPath = qApp->applicationDirPath() + "/config/Setting.ini";
qDebug() << configPath;
QSettings *pIniSet = new QSettings(configPath, QSettings::IniFormat);
pIniSet->setIniCodec(QTextCodec::codecForName("UTF-8")); //文件编码格式转换
QString lastPath = pIniSet->value("/LastPath/path").toString();
if(lastPath.isEmpty()){
lastPath = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
}
QString fileNamePath = QFileDialog::getOpenFileName(this, "打开", lastPath, "图片(*.jpg *.png)");
if (fileNamePath.isEmpty()){
return;
}
ui->lineEdit_path->setText(fileNamePath);
//图片自适应
QPixmap *pix = new QPixmap(fileNamePath);
pix->scaled(ui->label_image->size(), Qt::KeepAspectRatio);
ui->label_image->setScaledContents(true);
ui->label_image->setPixmap(*pix);
//提取图片路径地址
int endChar = fileNamePath.lastIndexOf("/");
QString filePath = fileNamePath.left(endChar);
pIniSet->setValue("/LastPath/path", filePath);
qDebug() << filePath;
delete pIniSet;
pIniSet = nullptr;
}
void Widget::on_btnOpen_clicked()
{
//open1();
open2();
}
本文来自博客园,作者:云辰,转载请注明原文链接:https://www.cnblogs.com/yunchen/p/18867234

浙公网安备 33010602011771号