Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/68: Рейтинг темы: голосов - 68, средняя оценка - 4.50
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 186

Qt: путь файла QFileDialog

17.07.2014, 15:32. Показов 14840. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, если не затруднит прошу Вас пояснить, как можно сделать следующее:
Имеется кнопка, которая по клику открывает QFileDialog..
после этого командой ifstream необходимо открыть файл который был выбран в QFileDialog.

В общем смысл такой..
Запись конечно корявая, но суть я думаю вы поймете.
C++ (Qt)
1
2
    QString file_name = QFileDialog::getOpenFileName();
    std::ifstream file(file_name);
просьба не кидаться тапками)
Заранее благодарю!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.07.2014, 15:32
Ответы с готовыми решениями:

QFileDialog: узнать путь выбранного файла
Добрый день, уважаемые форумчане! Я совсем недавно осваивают Qt, как и с++, поэтому прошу не пинать за простые и глупые вопросы С...

Как установить предварительное имя файла в QFileDialog?
Добрый день, нужно чтобы при запуске QFileDialog в поле имя файла было записано предлагаемое имя файла, а если пользователь захочет...

Зависает нативный диалог выбора файла QFileDialog::getSaveFileName
Доброго времени суток, уважаемые. Требуется ваша помощь. Мне необходимо сохранить файл, используя нативный диалог. Но при его вызове...

24
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 186
17.07.2014, 17:37  [ТС]
Студворк — интернет-сервис помощи студентам
Ребзя!!) Спасибо всем..в итоге получилось так..
C++ (Qt)
1
2
3
4
void MainWindow::bt_open_file_clicked()
{
    QString file_name = QFileDialog::getOpenFileName();
    std::fstream file (file_name.toStdString().c_str());
Единственное..читает только пути в которых нет русских буков((
Не скажите как поступить с этих выкобыздом??)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.07.2014, 17:43
Цитата Сообщение от olegjan Посмотреть сообщение
Единственное..читает только пути в которых нет русских буков((
О_о до вас наконец-то дошло почему я советовал использовать QFile+QTextStream
1
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
17.07.2014, 17:43
Цитата Сообщение от olegjan Посмотреть сообщение
Единственное..читает только пути в которых нет русских буков((
Не скажите как поступить с этих выкобыздом??)
olegjan, используйте QFile.
1
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 2
18.07.2014, 08:30
Не знаю, поможет ли это Вам, но при помощи этого кода Вы открываете диалоговое окно выбора файла и получаете его имя (а если подумать, то и путь к нему) в переменной QString.
C++
1
QString fileName = QFileDialog::getOpenFileName(0, tr("Выберите нужный файл!"), "Путь в директории приложения", tr ("Фильтр(расширения файлов) (*.htm)"));
Путь в директории приложения и фильтр - необязательные параметры. Они нужны для удобства пользователя - путь позволяет открыть диалог в нужной папке, а фильтр отсеивает файлы с нужным расширением. tr() тоже можно опустить, так как это всего лишь указание компилятору применять текстовый кодек (в моем случае, для отображения символов кириллицы).
C++
1
2
3
QTextCodec *tc = QTextCodec::codecForName("Windows-1251");
    QTextCodec::setCodecForCStrings(tc);
    QTextCodec::setCodecForTr(tc);
Далее, если Вам нужно открыть файл, имя которого вы получили, Вам следует создать объект класса QFile, установить для него источник данных и открыть в нужном режиме (чтение-запись и т.д.).
C++
1
2
3
QFile file;
    file.setFileName(fileName);
    file.open(QIODevice::ReadWrite);
Далее с открытым файлом file можно проводить необходимые манипуляции.
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 1
13.04.2016, 14:36
C++ (Qt)
1
2
3
4
5
 
void MainWindow::bt_open_file_clicked()
{
    QString file_name = QFileDialog::getOpenFileName();
    std::fstream file (file_name.toLocal8Bit().constData());
так будет видеть русские пути
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2016, 14:36

После выбора файла через QFileDialog программа вылетает с ошибкой
написала код для открытия файла и передачи его на сервер. но когда я открываю диалог, а потом выбираю файл , ото пограмма вылетает с...

#include <QFileDialog> ошибка "нет такого файла или каталога" а как подключить тогда?
#include &lt;QFileDialog&gt; ошибка &quot;нет такого файла или каталога&quot; а как подключить тогда?

Записать в массив относительный путь с именем файла из папки(не зная полный путь папки)
Наверняка вопрос заезженный, но я не нашел(плохо искал) Нужно из вложенной папки, из директории, откуда запускается макрос вытащить имена...

Загрузка файла в ТекстБокс и открытие файла, зная его полный путь!
Всем привет! Имеется определенная проблема: ввожу в textbox полный путь к файлу, после сохраняю его с помощью кода: Dim FN as...

FtpPutFile На Сервере имя файла отображается как полный локальный путь до файла
Добрый День ув. Программисты. Ну собственно в названии все указанно) Вот функцией которой пользуюсь: Function SendFtp(IDD:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru