qtdemo Star Deletgate, Нонсенс |
Здравствуйте, гость ( Вход | Регистрация )
qtdemo Star Deletgate, Нонсенс |
ЙаМайскЫйПчОЛ |
24.5.2010, 13:32
Сообщение
#1
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
Товарищи, приветсвую Вас.
и Сразу к вопросу Если вы не поленитесь и откроете проект Star Delegate (демка) И закаментите в файле stardelegate.cpp строки 88 и 89 т.е. connect(editor, SIGNAL(editingFinished()), this, SLOT(commitAndCloseEditor())); перекомпилите и запустите, то наверное испытаете такой же шок, как и я... Программа все равно будет правильно работать... Более того, можете поиграться с этим сигналом и слотом, но в рамках данной программы они никогда не вызываються. И вот вопрос... какие механизмы обеспечивают правильное поведение Делегата и Редактора, и нахрена у товарищей из Qt написано что делегат работает через эту связку...??? Это не развлечения ради, а просто мой класс Редактора не работает так как должен, но об этом потом Сообщение отредактировал ЙаМайскЫйПчОЛ - 24.5.2010, 13:33 |
|
|
Litkevich Yuriy |
24.5.2010, 15:30
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Цитата void QAbstractItemView::commitData(QWidget *editor) ... if (!editor || !d->itemDelegate || d->currentlyCommittingEditor) return; QModelIndex index = d->indexForEditor(editor); if (!index.isValid()) return; d->currentlyCommittingEditor = editor; QAbstractItemDelegate *delegate = d->delegateForIndex(index); editor->removeEventFilter(delegate); delegate->setModelData(editor, d->model, index); editor->installEventFilter(delegate); d->currentlyCommittingEditor = 0; Но мне SpinBox не подходит у меня свой виджет редактирования также как и StarEditor а какая разница? Всё одно, наследник QWidget
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 8:18 |