crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Можно ли расширить функциональность диалога QFileDialog::getOpenFileName?
Litkevich Yuriy
  опции профиля:
сообщение 3.3.2010, 10:17
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Хотелось бы расширить функциональность родного диалога системы, который вызывается статической функцией
QFileDialog::getOpenFileName и QFileDialog::getSaveFileName.
В некоторых Виндовозных программах я вижу стандартный диалог, с дополнениями, например:
Прикрепленное изображение

Прикрепленное изображение


Мне нужно сделать всего два флажка внизу диалога, и стряпать собственный с нуля совершенно не хочется.

Реально ли такое?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 3.3.2010, 12:22
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


по-моему, расширить возможности родного нельзя.
скорее всего в
Цитата(Litkevich Yuriy @ 3.3.2010, 10:17) *
В некоторых Виндовозных программах

родной стандартный наследуется или дорисовывается в ручную.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 3.3.2010, 19:15
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


наверное, это надо куда-то в эту сторону копать
http://msdn.microsoft.com/en-us/library/ms645524(VS.85).aspx
наследоваться и добавлять динамически свои фичи и обрабатывать события от них. но это гемор...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 3.3.2010, 19:36
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


С помощью виндового API это можно сделать, особенно с помощью MFC.

А на Qt это сделать думаю поможет пример: Extension Example
. Но для этого придется переопределять класс QFileDialog, для доступа к его закрытым методам... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.3.2010, 20:45
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ViGOur @ 3.3.2010, 22:36) *
А на Qt это сделать думаю поможет пример: Extension Example
Эдик, я уже купился на это название. Но троли под ним понимают диалог с кнопкой "More"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 3.3.2010, 20:54
Сообщение #6


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


В том примере показана не только реализация диалога поиска, но и то, как его можно расширить с помощью лайоутов и AddWidget. В принципе что тебе и нужно, как я понял. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.3.2010, 21:13
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ViGOur @ 3.3.2010, 23:54) *
В принципе что тебе и нужно, как я понял.
да вот беда:
Цитата
By default, the native file dialog is used unless you use a subclass of QFileDialog that contains the Q_OBJECT macro
Т.е.
"По умолчанию, используется родной файловый диалог, если вы не используете подкласс от QFileDialog, который содержит макрос Q_OBJECT"

Думаю это будет источником проблем
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 5.3.2010, 13:48
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 3.3.2010, 20:13) *
Думаю это будет источником проблем

каких проблем?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_zamnach_*_*
сообщение 5.3.2010, 21:08
Сообщение #9





Гости








    


среди свойств QFileDialog есть и такое - QFileDialog::DontUseNativeDialog
мне думается, что оно подавляет (запрещает) вызов нативного "осевого" диалога.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.3.2010, 21:37
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(DIMEDROLL @ 5.3.2010, 16:48) *
каких проблем?
родной диалог системы будет не доступен. А мне хотелось именно родной диалог модифицировать. Но ещё не пробовал туда лезть. Пока времени нет, оставил до след. недели.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 22:33