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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как получить PartiallyChecked?  (Прочитано 9429 раз)
fte
Гость
« Ответ #15 : Август 20, 2012, 10:34 »

setDataToQuery можете полностью показать?
Записан
PavelVX
Гость
« Ответ #16 : Август 20, 2012, 11:00 »

fte, все заработало, но тебе большой респект, с
QSqlTableModel::setData(index, (value == Qt::PartiallyChecked ? QVariant( QVariant::Int ):value));
я бы врятли сам допетрил! Подмигивающий
см предыдущий пост. я все в кучку свел.
Записан
chu
Гость
« Ответ #17 : Август 21, 2012, 23:42 »

setDataToQuery можете полностью показать?
+1. Что это за загадочная функция Непонимающий Из кучи предыдущего поста непонятно
Записан
PavelVX
Гость
« Ответ #18 : Август 22, 2012, 06:27 »

у меня это функция, которая из исходных данных и различных условий формирует SQL запрос и обновляет данные. Посмотрите на пример с редактируемым QSQLQuery. Просто у меня она уже настолько переработана от примера, что смысла приводить её тут нет.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #19 : Сентябрь 16, 2015, 17:37 »

Что вообще дает Qt::ItemIsTristate во флагах итема, если в результате приходится хаками обрабатывать setData для установки значения в Qt::PartiallyChecked;

Как будто по задумке именно если Qt::ItemIsTristate есть во флаге итема, то и должно в setData приходить не два а три возможных значения....

После того как у себя реализовал этот хак, убрал Qt::ItemIsTristate из флагов - ничего не изменилоь, как работало, так и работает


Код:
				Qt::CheckState state = ( Qt::CheckState )( value.toInt() );

if ( ( state == Qt::Checked ) && ( m_ThreeStateRows[ nROW_ID ] != Qt::PartiallyChecked ) )
state = Qt::PartiallyChecked;

m_ThreeStateRows[ nROW_ID ] = state;

похоже на ошибку Qt
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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