crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> 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;


Цитата(ЙаМайскЫйПчОЛ @ 24.5.2010, 19:27) *
Но мне SpinBox не подходит у меня свой виджет редактирования также как и StarEditor
а какая разница? Всё одно, наследник QWidget
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 3:32