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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFileDialog не сбрасывает selectedFiles  (Прочитано 4436 раз)
galilley
Гость
« : Сентябрь 03, 2010, 18:12 »

Доброго времени!

Создаю один диалог, чтобы открывать и читать несколько файлов.  Цепляю на open() кнопку, чтобы открывать, несколько файлов. Выделенные файлы забираю по selectedFiles().
Проблема: при повторном вызове QFileDialog::open() файлы, которые выбирал до этого, остаются в selectedFiles(). Как их почистить??
Спасибо.

Qt 4.6.3
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Сентябрь 03, 2010, 18:23 »

Используй статический член
Код
C++ (Qt)
QStringList QFileDialog::getOpenFileNames ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )   [static]
. Зачем его создавать?
« Последнее редактирование: Сентябрь 03, 2010, 18:25 от Пантер » Записан

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

Знаю про статические члены.
Мне надо без блокировки основного цикла, и не хотелось бы каждый раз передавать кучу параметров.
Записан
MoPDoBoPoT
Гость
« Ответ #3 : Сентябрь 03, 2010, 19:26 »

Может быть поможет fileDialog->selectFile(QString()) перед открытием диалога?
Записан
galilley
Гость
« Ответ #4 : Сентябрь 03, 2010, 19:30 »

Пробовал fileDialog->selectFile("") после обработки. Не помогает.
Записан
EhTemka
Гость
« Ответ #5 : Сентябрь 04, 2010, 18:39 »

fileDialog->selectFile(" "); с пробелом. Извращение, но поможет.
Надо наверно отписать в поддержку, чтобы сделали возможность сбрасывать выделение.
Записан
galilley
Гость
« Ответ #6 : Сентябрь 06, 2010, 20:14 »

Эврика!
Это баг не qt, это, видимо, баг kde.
Поставил опцию QFileDialog::DontUseNativeDialog и всё работает как часы.
С нативным диалогом ничто не помогало.. кому писать-то в этом случае?
Записан
crossly
Гость
« Ответ #7 : Сентябрь 06, 2010, 20:19 »

https://bugs.kde.org/
Записан
EhTemka
Гость
« Ответ #8 : Сентябрь 06, 2010, 20:40 »

Это баг не kde, поскольку под виндой (семеркой) у меня такое же поведение, причем независимо от опции DontUseNativeDialog. И возможно это не баг, а фича...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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