Название: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 14, 2009, 17:09 Всем Привет =))
есть 1ое) Код 2ое) Код
3ье) Код
Смысл такой, что делегат не работает с прокси-моделью. Какие возможные пути решения? Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 14, 2009, 20:45 Еще проблема в том, что QTableView + QSqlRelationalDelegate не обновляют свой вид из sql
помогите пожалуйста, мне уже сдавать на днях надо =( Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: break от Декабрь 14, 2009, 21:36 Не хочешь разбираться сам так купи курсяк за деньги - че мозг парить то ?
P.S. тут что форум помощи студентам-лентяям? Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 14, 2009, 22:08 Что так агрессивно то? =))
Отписался на форуме и параллельно сам ищу решение. Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: break от Декабрь 14, 2009, 23:06 сори за агрессивность - ты ищешь ответы на то что описано в документации и не должно вызывать никаких вопросов - ты просто спрашиваешь - эй мужики дай те мне рабочий кусок кода! где твоя проблема то?
Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 14, 2009, 23:51 Книжка Шлее, Книжка Бланшета + assistant и я не нашел ответов. Я бы не стал спрашивать, если бы знал где искать.
опишу вкратце: productView->setModel(productModel) - делегат(выпадающий список) работает productView->setModel(proxyModel) - делегат не работает. Понятия не имею в чем дело. перерыл все методы. С этим можно смириться, просто хотелось сделать красиво. В данном случае я хотел узнать, можно это сделать стандартными классами или надо писать свой делегат/модель. А вторая проблема в том, что как мне кажется модель не обновляется.... Происходит все так: 1) захожу в диалоговое окно 2) заношу новые данные в таблицу 3) данные заносятся (!) 4) и в QSqlRelationalDelegate не отображается новое значение. уже все перепробывал что смог найти: productView->update(); productView->reset(); productModel->submitAll(); QSqlDatabase::database().commit(); И непонятно то, что я писал очень похоже на StuffManager из книги Бланшета, который рабочий.... Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: MoPDoBoPoT от Декабрь 15, 2009, 00:30 В ассистенте написано, что QSqlRelationalDelegate предназначен для QSqlRelationalTableModel. Посмотрев в исходники, можно в этом убедиться.
А вторая проблема в том, что как мне кажется модель не обновляется.... Происходит все так: Что-то не очень понятно. Ты в отдельном окошке заносишь новую запись по средствам SQL-запроса (INSERT INTO...)? Если да, то надо обновить данные в модели, чтобы увидеть новую запись:1) захожу в диалоговое окно 2) заношу новые данные в таблицу 3) данные заносятся (!) 4) и в QSqlRelationalDelegate не отображается новое значение. Код (возможно надо будет заново установить отношение(QSqlRelation), сейчас нет возможности проверить) Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 15, 2009, 10:36 на счет первого понятно.
на счет второго: а) заношу данные методом mapper->submit() эти данные записываются в базу. б) Код прописал и 0 эффекта. в) У меня есть главная таблица. представим что в ней отображается значение_1 из таблицы_2 посредством QSqlRelationalDelegate. открываю диалоговое окно редактирования таблицы_2 и изменяю значение_1. закрываю диалоговое окно и смотрю на главную таблицу - значение_1 визуально изменилось. раскрываю выпадающий список и измененное значение_1 пропадает =( Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 15, 2009, 16:06 сделал интерфейс по-другому, но все равно было бы неплохо получить ответ =))
Название: Re: QSortFilterProxyModel + QAbstractItemDelegate Отправлено: fearn0t от Декабрь 22, 2009, 00:48 неужели ни у кого даже мыслей нет. Я в qt мало программирую и не разобрался с возможностями. Мне надо свой делегат делать? я вообще без понятия... скажите хоть в какую сторону копать.
|