A7lam Lover Ответов: 2

На Qt Творца вопросы бегинер


я делаю приложение для калькулятора хэша файлов для среды KDE linux
но у меня есть несколько проблем:

в этом коде, который вычисляет хэш файла
hashwrapper *sha512 = new sha512wrapper();
std::string sha512Hashing = sha512->getHashFromFile("file01.iso");

вы заметили file01.iso здесь
мой вопрос таков:
1. Как разместить здесь файл интерполяции вместо предопределенного файла?
я имею в виду, что не знаю имени файла, который пользователь выберет в расширенном режиме
Итак, как я делаю интерполирующий ход, как в Ruby, мы делаем
userInput=gets
#{userInput}

как это сделать в Qt Creator

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


я так благодарен Тому, Кто ответит на мои вопросы

Что я уже пробовал:

 QFile filename01;
hashwrapper *sha512 = new sha512wrapper();
std::string sha512Hashing = sha512->getHashFromFile(filename01);

и много подобных ходов но не повезло

[no name]

"filename01" - это ничто, так что я не понимаю, как вы думаете, что это сработает. Вам следует поработать с некоторыми учебниками по C++.

2 Ответов

Рейтинг:
8

A7lam Lover

я нашел решение

QString open_file = QFileDialog::getOpenFileName(this,"open file","/home path");
QFile file01(open_file);


теперь если вы хотите использовать файл для любой операции вам нравится
например (получить имя файла или размер) просто используйте (file01)
делать операции на


кстати на QFileDialog есть 2 типа файлов
1. статический файл.... пример ("/home/user/documents/file01.iso")
2. динамический файл ... пример (файл, который пользователь выберет из открытого диалога)

я надеюсь, что это будет ясно новичкам, таким как я


Рейтинг:
1

Richard MacCutchan

Скорее всего, вы будете использовать диалог. Либо предопределенный OpenFileDialog, либо Класс QDialog / Qt 4.8[^].