Russian Qt Forum

Qt => Вопросы новичков => Тема начата: dimat от Февраль 25, 2021, 14:21



Название: Фокус на строку и ячейку QTreeWiget
Отправлено: dimat от Февраль 25, 2021, 14:21
Здравствуйте!

Подскажите пожалуйста, как поставить активный фокус (не выделить при помощи select) на строку и на ячейку QTreeWiget с колонками?


Название: Re: Фокус на строку и ячейку QTreeWiget
Отправлено: kambala от Февраль 25, 2021, 14:35
treeWidget->setCurrentItem() с третьим параметром QItemSelectionModel::NoUpdate не подходит?


Название: Re: Фокус на строку и ячейку QTreeWiget
Отправлено: dimat от Февраль 25, 2021, 17:47
treeWidget->setCurrentItem() с третьим параметром QItemSelectionModel::NoUpdate не подходит?

Нет, почему-то строки и ячейки просто выделяются, но не фокусируются.

Вот на картинке: сверху обычное выделение кодом, а снизу то, что получается, если кликнуть мышью.


Название: Re: Фокус на строку и ячейку QTreeWiget
Отправлено: kambala от Февраль 25, 2021, 17:56
а какова конечная цель? чтоб получилось как снизу на картинке? или сфокусировать элемент без выделения?


Название: Re: Фокус на строку и ячейку QTreeWiget
Отправлено: dimat от Февраль 25, 2021, 19:36
а какова конечная цель? чтоб получилось как снизу на картинке? или сфокусировать элемент без выделения?

Конечная цель, чтобы получилось как снизу на картинке, то есть выделить активным фокусом ячейку.


Название: Re: Фокус на строку и ячейку QTreeWiget
Отправлено: dimat от Февраль 27, 2021, 13:41
Спасибо. Разобрался.

Активный фокус на ячейку поставился только после того, как я:
1) поставил _myTree->setSelectionModel(QAbstractItemView::ExtendedSelection);
2) зафокусил сам виджет _myTree->setFocus();
3) выделил строку _myTree->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
4) и выделил ячейку _myTree->selectionModel()->setCurrentIndex(index, QItemSelectionModel::Columns);