Здравствуйте, гость ( Вход | Регистрация )
software developer | Дата 2.6.2011, 8:47 |
Если в методе делегата QStyledItemDelegate::createEditor() для созданного виджета вызвать Qwidget::setFocusPolicy(Qt::StrongFocus), то все будет работать как надо. | |
kunashir | Дата 17.3.2011, 9:18 |
PAFOS, спасибо за совет! Наше следующее решение http://labs.qt.nokia.com/2007/06/06/lineed...a-clear-button/ кнопка в поле ввода. Сам изначально хотел сделать так, но у меня текст подлезал под кнопку, а по ссылки все уже решено. Правда там кнопка используется для отчистки поля, но повесить на нее свое действие не сложно. |
|
PAFOS | Дата 16.3.2011, 17:51 |
попробуй в методе createEditor дать QLineEdit фокус ввода (метод void QWidget::setFocus ( Qt::FocusReason reason )) или в классе CEditLineButton переопредели метод focusInEvent(), где дай фокус строке ввода. Получается, что при клацании на ячейку в представлении, создается делегат и ему сразу же кидается фокус ввода. В данном случае мы попадем в метод CEditLineButton::focusInEvent() и передадим этот фокус строке ввода |
|
kunashir | Дата 11.3.2011, 14:41 |
День добрый! Потребовалось использовать такой делегат: ну сделал свой класс, наследник от QFrame, на нем разместил Layout, QLineEdit и QPushButton. В делегате этот класс использовал в качестве редактора - все вроде отлично, при начале редактирования ячейки QTableView появляется QLineEdit и QPushButton - но если сразу попытаться нажать на кнопку, редактирования прекращается и редактор закрывается, а когда сперва клацнуть по QLineEdit, то потом можно спокойно нажимать кнопку и закрытия редактора не происходит. Собственно как сделать так чтобы сразу можно было жать на кнопку? В идеале должно быть как при использовании QSpinBox в делегате - там то кнопки сразу можно щелкать. Класс виджета: Раскрывающийся текст
Делегат: Раскрывающийся текст
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 8:03 |