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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QLineEdit и editingFinished при редактировании модели  (Прочитано 3633 раз)
Dp0H
Гость
« : Сентября 28, 2011, 11:46 »

Есть наследник от QLineEdit для отображения и правки даты (nullable).
Ничего особенного не делает, но QDataWidgetMapper привязывается к добавленному у наследника свойству
Q_PROPERTY(QDate date READ getDate WRITE setDate)

Если сигнал editingFinished вызван нажатием Enter, то text() возвращает то, что отображает QLineEdit.
Но если editingFinished вызван потерей фокуса, то text() возвращает предыдущее значение (до правки соотв. значения поля модели).
Собственно, вопрос заключается в том, как получить реальный текст контрола (наследника QLineEdit) в обработчике editingFinished при любой причине возникновения сигнала,
если контрол привязан к модели. Вообще не понятно, почему получение текста связано с получением данных из модели, если модель смапплена по другому свойству...
Записан
asvil
Гость
« Ответ #1 : Сентября 28, 2011, 12:34 »

qobject_cast<QLineEdit*>(sender())->text();
Записан
Dp0H
Гость
« Ответ #2 : Сентября 28, 2011, 15:02 »

text() не переопределена. По факту получилось, что в текст успевало записаться значение из модели. Решил с помощью QItemDelegate выписыванием различного поведения в разных случаях.
Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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