Название: QFileDialog::getSaveFileName Отправлено: Николай Кузнецов от Ноябрь 24, 2011, 18:54 Стоит такая задача. Нужно модифицировать стандартное окно "Сохранить файл".
Собственно вызвать это окно просто, например так: Код: void MainWindow::on_actionSave_triggered() Но как добраться до самого диалога для его модификации? В приложении картинка, примерно отражающее то что должно быть в итоге. Название: Re: QFileDialog::getSaveFileName Отправлено: madRoger от Ноябрь 24, 2011, 19:11 Либо унаследоваться и реализовать свой диалог либо модифицировать существующий: диалог имеет основной лэйаут, к которому можно обратиться. (см.QWidget::layout()). Далее в лэйаут добавить необходимые виджеты.
Название: Re: QFileDialog::getSaveFileName Отправлено: GreatSnake от Ноябрь 24, 2011, 23:22 Цитата: assistant On Windows, Mac OS X and Symbian^3, this static function will use the native file dialog and not a QFileDialog. Так что, если требуетсядобраться до самого диалога для его модификации? то забудь про статические методы.Название: Re: QFileDialog::getSaveFileName Отправлено: Николай Кузнецов от Ноябрь 25, 2011, 01:37 Цитата: assistant On Windows, Mac OS X and Symbian^3, this static function will use the native file dialog and not a QFileDialog. Так что, если требуетсядобраться до самого диалога для его модификации? то забудь про статические методы.Несовсем понял, но звучит устрашающе( Название: Re: QFileDialog::getSaveFileName Отправлено: andrew.k от Ноябрь 25, 2011, 02:11 значит, что ты не сможешь в него вклиниться средствами Qt, да и средствами WinAPI наверное едва ли (не силен в WinAPI).
А вообще мое имхо, это диалог-урод. Зачем такое плодить? Никогда не мог понять, что у людей за манера каверкать стандартные решения. Чтобы пользователи потом удивлялись, почему ОНО работает не так как всегда и у всех, а "умнее, удобнее или красивее". Название: Re: QFileDialog::getSaveFileName Отправлено: Николай Кузнецов от Ноябрь 25, 2011, 02:25 значит, что ты не сможешь в него вклиниться средствами Qt, да и средствами WinAPI наверное едва ли (не силен в WinAPI). А вообще мое имхо, это диалог-урод. Зачем такое плодить? Никогда не мог понять, что у людей за манера каверкать стандартные решения. Чтобы пользователи потом удивлялись, почему ОНО работает не так как всегда и у всех, а "умнее, удобнее или красивее". Хм. Вы удивитесь, но в том и цель - породить диалог урод! И такой чтобы он желательно заменял стандартный диалог "Сохранить файл" во всех программах в системе. Т.е. в итоге должна получиться утилита, при включении которой диалог заменяется на кастомный. Ведь есть же такая тулза TeraCopy, она заменяет стандартный функционал системы для работы с буф.обмена на свой собственный, улучшенный. А диалог который я хочу сделать должен решать такую задачу: Каждому приходиться часто и много сохранять файлов из интернета (из браузера, менеджера закачек, торрент клиента и .т.п), но так как файлы в интернете не всегда имеют понятные\удобные имена, в папках загрузок черт ногу сломит. А я хочу сделать так чтобы при сохранении файла к нему можно было бы добавить краткое текстовое описание, прямо в диалоге сохранения, которое потом сохраниться рядом с файлом в отдельный текстовый файл Description например. Название: Re: QFileDialog::getSaveFileName Отправлено: andrew.k от Ноябрь 25, 2011, 02:36 почему это описание не внести в имя файла?
Название: Re: QFileDialog::getSaveFileName Отправлено: Николай Кузнецов от Ноябрь 25, 2011, 02:47 почему это описание не внести в имя файла? :o В имя файла? Собственно ограничения на имя файла не позволяют это сделать.Название: Re: QFileDialog::getSaveFileName Отправлено: andrew.k от Ноябрь 25, 2011, 03:02 почему это описание не внести в имя файла? :o В имя файла? Собственно ограничения на имя файла не позволяют это сделать.Я когда-то давно, тоже хотел к каждой программе и файлу описание написать. Тотал коммандер позволяет это делать. И удобно отображать комментарии к файлам. В итоге эта идея довольно быстро загнулась. За не надобностью, за ленью. И еще почему, что любого хотябы более менее осмысленного имени файла было достаточно, чтобы вспомнить что за файл. Тот у кого помойка из файлов наверняка пользуется файловым менеджером и наверняка он тоже поддерживает комментарии. А по сабжу. При чем тут Qt вообще. Тут надо в winAPI лезть и полностью свой диалог писать и перехватывать стандартный вызов. Название: Re: QFileDialog::getSaveFileName Отправлено: Николай Кузнецов от Ноябрь 25, 2011, 03:10 почему это описание не внести в имя файла? :o В имя файла? Собственно ограничения на имя файла не позволяют это сделать.Я когда-то давно, тоже хотел к каждой программе и файлу описание написать. Тотал коммандер позволяет это делать. И удобно отображать комментарии к файлам. В итоге эта идея довольно быстро загнулась. За не надобностью, за ленью. И еще почему, что любого хотябы более менее осмысленного имени файла было достаточно, чтобы вспомнить что за файл. Тот у кого помойка из файлов наверняка пользуется файловым менеджером и наверняка он тоже поддерживает комментарии. А по сабжу. При чем тут Qt вообще. Тут надо в winAPI лезть и полностью свой диалог писать и перехватывать стандартный вызов. Может Qt и не причем. Просто хотел реалиазовать на нем пример работающей проги, для демонстрации людям которые возможно смогли бы сделать это наиболее правильно оптимально (на winapi например). А вот насчет того необходимо это или нет, я твердо убежден что ДА, необходимо. Кучи файлов есть у всех, а инструментов систематизации поди поищи. Название: Re: QFileDialog::getSaveFileName Отправлено: andrew.k от Ноябрь 25, 2011, 16:04 почему это описание не внести в имя файла? :o В имя файла? Собственно ограничения на имя файла не позволяют это сделать.Я когда-то давно, тоже хотел к каждой программе и файлу описание написать. Тотал коммандер позволяет это делать. И удобно отображать комментарии к файлам. В итоге эта идея довольно быстро загнулась. За не надобностью, за ленью. И еще почему, что любого хотябы более менее осмысленного имени файла было достаточно, чтобы вспомнить что за файл. Тот у кого помойка из файлов наверняка пользуется файловым менеджером и наверняка он тоже поддерживает комментарии. А по сабжу. При чем тут Qt вообще. Тут надо в winAPI лезть и полностью свой диалог писать и перехватывать стандартный вызов. Может Qt и не причем. Просто хотел реалиазовать на нем пример работающей проги, для демонстрации людям которые возможно смогли бы сделать это наиболее правильно оптимально (на winapi например). А вот насчет того необходимо это или нет, я твердо убежден что ДА, необходимо. Кучи файлов есть у всех, а инструментов систематизации поди поищи. |