Russian Qt Forum
Октябрь 01, 2024, 00:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFileDialog - блокирует путь  (Прочитано 5534 раз)
spectre71
Гость
« : Август 09, 2009, 10:55 »

QFileDialog блокирует путь, даже после выхода из диалога, например папку последнего выбранного файла или открытую папку.
Такая беда происходит под XP, под Vista не проверял.
Что за фигня и как с ней бороться?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Август 09, 2009, 11:09 »

ни когда такого не замечал, можешь минимальный проект выложить для проверки?
(и версию Qt укажи)
Записан

Юра.
spectre71
Гость
« Ответ #2 : Август 09, 2009, 11:48 »

ни когда такого не замечал, можешь минимальный проект выложить для проверки?
(и версию Qt укажи)
4.5.2
1) Открываешь диалог, выбираешь файл, не закрывая диалог пытаешься переименовать в эксплорере папку с выбранным файлом.
2) То же самое после выбора файла и закрытия диалога, но до уничтожения его!
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Август 09, 2009, 12:06 »

Это из-за того, что устанавливается QFileSystemWatcher на этот каталог. Выход - уничтожать диалог.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
spectre71
Гость
« Ответ #4 : Август 09, 2009, 12:10 »

Это из-за того, что устанавливается QFileSystemWatcher на этот каталог. Выход - уничтожать диалог.
Так и пришлось сделать. Но это мне не нравиться.
Это не удобно, например, когда создание/настройка, вызов, обработка результатов происходят в разных методах или в разное время.
Не говоря уже о том что приходиться дублировать код для всех методов с вызовом диалога, вместо того чтобы сделать один раз, например:
  dialog.setFileMode  (QFileDialog::DirectoryOnly);
  dialog.setAcceptMode(QFileDialog::AcceptOpen);
  dialog.setViewMode  (QFileDialog::List);
« Последнее редактирование: Август 09, 2009, 12:12 от Spectre » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Август 09, 2009, 12:22 »

Напиши тролям. Подмигивающий
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ритт
Гость
« Ответ #6 : Август 09, 2009, 18:08 »

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

что мешает создавать и настраивать диалог в специально отведённом для этого месте, а использовать там, где требуется?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Август 09, 2009, 20:47 »

солидарен с Кностантином.
Записан

Юра.
spectre71
Гость
« Ответ #8 : Август 09, 2009, 22:32 »

можешь даже и не думать писать троллям - такой бесполезный фичреквист моментально отрежектят.
что мешает создавать и настраивать диалог в специально отведённом для этого месте, а использовать там, где требуется?
"в специально отведённом для этого месте" - ?
Пожалуйста поясни.
Записан
ритт
Гость
« Ответ #9 : Август 10, 2009, 00:57 »

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

да и вообще, по моему скромному разумению удерживать ресурс (экземпляр скрытого диалога в данному случае) для возможного с некоторой вероятностью повторного использования - ммм...неправильный подход к оптимизации...
если не путаю, так поступает венда для нативного файлдиалога - считаю это довольно...легкомысленным

нужен диалог - создай; надоел - удали Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.