QtCreator убрать отображение абсолютного пути

228
21 августа 2017, 09:51

Написал обычное тестовое приложение для выбора .png файла из папок на компьютере.

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileDialog"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
MainWindow::~MainWindow()
{
    delete ui;
}
QString file1Name;
void MainWindow::on_pushButton_clicked()
{
    {
        file1Name = QFileDialog::getOpenFileName(this,
             tr("Open PNG File 1"), "/home", tr("PNG Files (*.png)"));
        ui->File1Path->setText(file1Name);
    }
}

При выбере файла, показывает абсолютный путь до файла "C:/Users/Dev/Desktop/Capture.PNG"

  1. Хотелось бы узнать, как оставить только Capture.PNG
  2. Хотелось бы узнать, как выбрать какую папку открыть и чтобы высветились все .png файлы находящиеся там.
Answer 1

Хотелось бы узнать, как оставить только Capture.PNG

http://doc.qt.io/qt-4.8/qfileinfo.html#fileName

int main(int argc, char *argv[])
{
    const QString str  = "C:/Users/Dev/Desktop/Capture.PNG";
    qDebug() << QFileInfo(str).fileName();
    return 0;
}

Хотелось бы узнать, как выбрать какую папку открыть и чтобы высветились все .png файлы находящиеся там.

http://doc.qt.io/qt-5/qdir.html#entryInfoList

int main(int argc, char *argv[])
{
    const QString folderPath = "D:/folderWithPng";
    QDir folderDir = QDir(folderPath);
    QFileInfoList pngList = folderDir.entryInfoList(QStringList("*.png"), QDir::Files | QDir::NoDotAndDotDot);
    for(const auto &item : pngList)
    {
        qDebug() << item.fileName();
    }
    return 0;
}
READ ALSO
Вернуть массив строк с++

Вернуть массив строк с++

Есть следующая задача: изначально мы не знаем размер массива, который нам надо обработать, необходимо написать функцию, которая бы работала...

312
Qt 5 статические библиотеки

Qt 5 статические библиотеки

Собрался попробовать использовать Qt 59

342
Проблема с Jquery :eq

Проблема с Jquery :eq

Есть список

246