Russian Qt Forum
Май 13, 2024, 19:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFileDialog как вернуть имя файла  (Прочитано 4054 раз)
medvedb
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« : Февраль 06, 2021, 16:27 »

Здравствуйте.

Код:
QString FPath = QFileDialog::getOpenFileName(0, "Open Dialog", "", "*.*");

FPath Возвращает полный путь.

Вопрос: Мне нужно узнать имя файла с расширением?.
Записан
tux
Бывалый
*****
Offline Offline

Сообщений: 400



Просмотр профиля
« Ответ #1 : Февраль 06, 2021, 16:35 »

QStringList QFileDialog::selectedFiles() const
Returns a list of strings containing the absolute paths of the selected files in the dialog. If no files are selected, or the mode is not ExistingFiles or ExistingFile, selectedFiles() contains the current path in the viewport.

Можно ведь QFileDialog рассматривать, как обычный диалог и после запуска у него и спросить, что именно выбрал пользователь.
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #2 : Февраль 06, 2021, 16:56 »

в смысле вместо полного пути к файлу получить только имя файла? Класс QFileInfo.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
medvedb
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #3 : Февраль 06, 2021, 17:24 »

В смысле с QT я меньше  месяца (С++ новичок). Изучаю по видео урокам и статьям. Многое для меня не понятно. Вот и задаю вопросы в раздел новичкам. А судя по ответам как будто в другой раздел пишу.  Если не затруднит пример Простой!

Код:
QString FPath1 = QFileDialog::getOpenFileName(0, "Open Dialog", "", "*.*");
FPath1 Возвращает полный путь. А как сделать чтобы получать и путь, имя файла. Все полученные данные я сохраняю *.ini

Суть будущей программы работать с папкой файлов (*.doc, *.xslx) отчетов. Для быстрого изменения   основных полей.
Записан
medvedb
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #4 : Февраль 06, 2021, 17:35 »

Я правильно понял после QFileDialog, нужно с помощью QFileInfo Вернуть его название?
Записан
medvedb
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #5 : Февраль 06, 2021, 17:55 »

QFileInfo fileinfo(FPath1);
 QString F = fileinfo.fileName();


Все разобрался.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #6 : Февраль 06, 2021, 18:11 »

QFileInfo fileinfo(FPath1);
 QString F = fileinfo.fileName();


Все разобрался.

не так и трудно оказалось, если самостоятельно почитать документацию, не правда ли? а не просто сидеть и ждать готовое Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
medvedb
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #7 : Февраль 07, 2021, 12:51 »

Я не ждал готовое, просто не понял логики. Думал, что путь надо из QFileDialog выдергивать. Два дня тренировался прежде чем написать в форуме.  Всем спасибо за внимание.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 19.