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 |
|
|
ЙаМайскЫйПчОЛ |
24.5.2010, 16:13
Сообщение
#2
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
РЕШЕНИЕ
QWidget * QAbstractItemDelegate::createEditor ( QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ) const [virtual] И вот оно The returned editor widget should have Qt::StrongFocus; otherwise, QMouseEvents received by the widget will propagate to the view. т.е. конструктору надо сделать setFocusPolicy(Qt::StrongFocus); и все будет тип-топ |
|
|
Текстовая версия | Сейчас: 22.12.2024, 13:13 |