Не могу передать путь к файлу
Пробовал передать значение, но при выборе файла и уже передачи значения , у меня пишет, что не определен. То есть fileDialog.fileUrl неопределен, если написать так console.log(fileDialog.fileUrl). А если я делаю обращение к c++, то значение так указано "". Подскажите, что делать? Qt6.6 . Ниже код: back.cpp:
#include "back.h"
back::back(QObject *parent)
: QObject(parent)
{
}
void back::changeValue(QString a)
{
text = a;
emit valueChanged();
}
back.h:
#ifndef BACK_H
#define BACK_H
#include <QObject>
#include <QString>
#include <QDebug>
class back : public QObject
{
Q_OBJECT
Q_PROPERTY(QString value MEMBER text NOTIFY valueChanged)
public:
explicit back(QObject *parent = nullptr);
Q_INVOKABLE void changeValue(QString a);
signals:
void valueChanged();
private slots:
void vc();
private:
QString text;
};
#endif // BACK_H
main.qml:
FileDialog{
id: fileDialog
nameFilters: ["7zip (*.7z)", "ZIP-архив (*.zip)"]
currentFolder: StandardPaths.standardLocations(StandardPaths.DesktopLocation)[0]
onAccepted:
{
var filePath = fileDialog.fileUrl;
if (filePath !== null && filePath !== undefined) {
back.changeValue(filePath);
console.log(filePath);
} else {
console.log("Пользователь не выбрал файл.");
}
}
}
Ответы (1 шт):
Автор решения: strel.C
→ Ссылка
Решение вопроса. Для Qt 6.6.0 и 6.5.0 , ввели новое свойство selectedFile. Разработчики оставили fileUrl, но он возвращает "неопределено". Также и для fileUrls его новый аналог selectedFiles. Надеюсь это поможет.