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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFileDialog::getOpenFileName в делегате [4.4.0]  (Прочитано 3883 раз)
transto
Гость
« : Май 18, 2008, 14:59 »

Почему во время редактирования данных делегатом, при вызове:
Код:
QString file = QFileDialog::getOpenFileName(this, tr("Выберите файл"),"", tr("Все файлы (*.*)"));
сразу вызывается сразу setModelData понятно - потому что этот вызов делает выход из режима редактирования item'а.

Вопрос в том, как заставить этот диалог работать так же как и обычный QFileDialog->exec() ? (т.е., чтобы не делал выход из режима редактирования)

может сумбурно выражаюсь. но я в тупичке - очень хочется нативный диалог, а тут такой облом. Грустный
Задача проста: сделать выбор файла в ячейке таблицы по кнопке в QLineEdit. Но диалог QtFileDialog->exec() какой-то некрасивый...  Или это дело привычки? Улыбающийся
Записан
transto
Гость
« Ответ #1 : Май 18, 2008, 17:48 »

Улыбающийся помогло добавление пустого eventFilter делегату.
Код:
bool fileDialogDelegate::eventFilter ( QObject * editor, QEvent * event )
{
return false;
}
конечно, хвала ассинтанту и интуиции...
Записан
transto
Гость
« Ответ #2 : Июнь 11, 2008, 14:00 »

Не нравится мне идея с eventFilter. Для нормальной работы не хватает codeless. Улыбающийся потому как потом приходится обрабатывать клавиши и т.п.

В аттаче исходники с примером работы делегата, может вы увидете то, что от меня скрыто.

Надо, чтобы путь файла все-таки попадал в ячейку таблицы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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