C ++ Qt создатель класса QFileInfo не работает - PullRequest
0 голосов
/ 27 февраля 2020

Я разрабатываю приложение GUI, которое должно иметь возможность выбирать папку из каталога с помощью QFileDialog. Папка должна содержать файлы изображений, имя папки отображается в виде дерева. В дереве есть функция on_click () для передачи файлов из папки в представление списка, которое отфильтровывает файлы, не относящиеся к изображениям. Далее я намеревался отобразить одно изображение в графическом представлении, когда файл дважды щелкнул в представлении списка. Я намеревался сделать это с библиотекой QFileInfo, используя функцию absoluteFilePath () индекса файла, который нажимает пользователь. фрагмент кода:

void MainWindow::on_listView_2_doubleClicked(const QModelIndex &index)
{
    QString pathOfIndex = absoluteFilePath(index); // I get the error here

    imageObject = new QImage();
    imageObject->load(pathOfIndex);

    image = QPixmap::fromImage(*imageObject);

    scene = new QGraphicsScene(this);
    scene->addPixmap(image);
    scene->setSceneRect(image.rect());
    ui->graphicsView->setScene(scene);
}

Эта функция при нажатии позволяет графическому представлению отображать изображение, находя и используя абсолютный путь к файлу. Но по какой-то причине, даже если я включил библиотеку, создатель QT выдает эту ошибку: использование необъявленного идентификатора absoluteFilePath. Есть что-то, чего я не вижу? Может предоставить больше кода при необходимости

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

include, затем вызовите absoluteFilePath, как показано ниже

QFile :: absoluteFilePath (your_file) .toString ();

Вам необходимо сначала создать экземпляр QFile перед вызовом absoluteFilePath ();

0 голосов
/ 27 февраля 2020

Вы пытались включить библиотеку в свой заголовочный файл и mainwindow.ui?

...