Название: Диалог выбора файла [решено] Отправлено: Alexu007 от Июнь 22, 2014, 16:18 Код
Всегда сперва открывает папку, в которой находится ехе-шник. Неудобно - мягко сказано. Как сделать, чтобы после выхода из программы запоминал последнюю открытую папку, и в следующий раз начинал с неё? Название: Re: Диалог выбора файла Отправлено: Old от Июнь 22, 2014, 16:27 Брать путь возвращаемого файла, сохранять, при следующем запуске указывать его в параметре dir этой функции.
QString QFileInfo::absoluteFilePath() const QString QFileDialog::getOpenFileName(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0) [static] Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 22, 2014, 18:43 В билдере вроде само сохранялось...
Название: Re: Диалог выбора файла Отправлено: Igors от Июнь 22, 2014, 19:08 В билдере вроде само сохранялось... Вряд ли. Диалог показывает текущую для ОС, Qt ее устанавливает, а былдер нет. Впрочем нсли былдер лучше - так назад к нему :)Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 23, 2014, 12:55 Впрочем нсли былдер лучше - так назад к нему :) Не, ну так вопрос не стоит... Сохранить предыдущий адрес конечно можно в файле, но добавлять в проект лишний файл как-то неохота. Некоторые программы (необязательно билдер, может с билдером я и ошибся) запоминают предыдущий адрес посещения. Может он в винде где-то хранится?Название: Re: Диалог выбора файла Отправлено: Old от Июнь 23, 2014, 12:56 Не, ну так вопрос не стоит... Сохранить предыдущий адрес конечно можно в файле, но добавлять в проект лишний файл как-то неохота. Некоторые программы (необязательно билдер, может с билдером я и ошибся) запоминают предыдущий адрес посещения. Может он в винде где-то хранится? Если речь про венду, то и храните его не в файла, а в реестре. См. QSettings.Название: Re: Диалог выбора файла Отправлено: Bepec от Июнь 23, 2014, 12:58 Мб я и совру, но на серверных системах я пару раз замечал, что он ставит последнюю папку автоматически. Хотя не уверен.
Название: Re: Диалог выбора файла Отправлено: _OLEGator_ от Июнь 23, 2014, 14:21 Если вызвать диалог так:
Код
У меня сохраняется последний открытый путь. Не факт, что он устанавливается для конкретного приложения. Название: Re: Диалог выбора файла Отправлено: Bepec от Июнь 23, 2014, 14:22 Кстати да, именно такие параметры и я передаю обычно.
Название: Re: Диалог выбора файла Отправлено: Old от Июнь 23, 2014, 14:28 У меня сохраняется последний открытый путь. Не факт, что он устанавливается для конкретного приложения. Даже если закрыть программу и открыть вновь? :)А ТС хочет именно этого. Название: Re: Диалог выбора файла Отправлено: _OLEGator_ от Июнь 23, 2014, 14:41 Даже если закрыть программу и открыть вновь? :) А ТС хочет именно этого. Именно, после закрытия путь сохраняется, но не факт, что если из другого приложения открыть диалог - путь не изменится. Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 23, 2014, 17:11 Не, эта точка в кавычках "." чуда не совершила. Каждый раз при вызове "открыть файл" открывается папка с ехешником, даже если и не выходить из программы. Вызов производится при нажатии кнопки:
Код
Название: Re: Диалог выбора файла Отправлено: kambala от Июнь 23, 2014, 17:14 full_fname = "", return — зачем?..
Название: Re: Диалог выбора файла Отправлено: Igors от Июнь 23, 2014, 17:21 Не, эта точка в кавычках "." чуда не совершила. Каждый раз при вызове "открыть файл" открывается папка с ехешником, даже если и не выходить из программы. Вызов производится при нажатии кнопки: Такое у меня было - правда на совсем др платформе и версии Qt. Решил давая несуществующий путь напр "path does not exist". Но это помогает только если не выходить.Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 23, 2014, 17:48 full_fname = "", return — зачем?.. full_fname = "" - согласен, лишняя. С return, точнее с его отсутствием, у меня как-то были заморочки, правда в билдере. Я с тех пор везде его ставлю - он же не мешает?Название: Re: Диалог выбора файла Отправлено: Vamireh от Июнь 23, 2014, 17:51 Не проще через QSettings сохранять lastPath? Я так всегда делаю.
Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 23, 2014, 18:15 Блин, дело не в этом оказалось! Я на компе работаю пользователем, а администратор у меня под паролем. Папка с библиотеками и эксешником была на рабочем столе - не запоминает. А перенёс папку на диск С - оттуда всё запоминает. Не только выход из программы, но и перезагрузку компа переживает.
Что-то с правами доступа, наверное... Название: Re: Диалог выбора файла Отправлено: kambala от Июнь 23, 2014, 19:17 full_fname = "", return — зачем?.. full_fname = "" - согласен, лишняя. С return, точнее с его отсутствием, у меня как-то были заморочки, правда в билдере. Я с тех пор везде его ставлю - он же не мешает?Название: Re: Диалог выбора файла Отправлено: Alexu007 от Июнь 23, 2014, 19:52 в функции, возвращающей void, return нужен только для принудительного выхода из нее. просто так его ставить смысла нету. Да знаю я это, но ведь и не мешает же? Компилятору скорее всего что фигурная скобка, что return - безразлично. По мне - так конец функции лучше видно в тексте программы: return и фигурная скобка. |