Russian Qt Forum

Qt => Общие вопросы => Тема начата: demaker от Сентябрь 13, 2013, 12:54



Название: [Решено]View
Отправлено: demaker от Сентябрь 13, 2013, 12:54
Подскажите как устанавливать позицию селектора во view программно?


Название: Re: View
Отправлено: kambala от Сентябрь 13, 2013, 13:22
view->selectionModel()->select(...) или view->selectionModel()->setCurrentIndex(...), если я правильно понял вопрос


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 13:34
Сейчас поясню
Шаг первый
общая картина находимся на device2 у которого нет потомков


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 13:36
Шаг2
Жмем желтую стрелочку
и видим в правом окошке
отображение потомков MyStation.
Но селектор находится не на MyStation.

Как его туда передвинуть?


Название: Re: View
Отправлено: kambala от Сентябрь 13, 2013, 13:53
фокус что ли установить? myStationView->setFocus()


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 14:02
Нет,не фокус.
А чтоб синяя полоска была на надписи MуStation.


Название: Re: View
Отправлено: mutineer от Сентябрь 13, 2013, 14:18
view->selectionModel()->setCurrentIndex(...)
или
view->selectionModel()->select(...)
не подходят?


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 14:33
view->selectionModel()->setCurrentIndex(...)
или
view->selectionModel()->select(...)
не подходят?

Это получается view->selectionModel() вернет мне QItemSelectionModel, а там через index выбирать.
Но я  не знаю index, я знаю только элемент-объект ,на который мне нужно поставить селектор


Название: Re: View
Отправлено: kambala от Сентябрь 13, 2013, 14:51
это уже лично твоя задача как по объекту получить нужный индекс


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 14:57
Ладно индекс запихнем в переменную, которая будет в объекте.
а с этим, что делать
Код:
QItemSelectionModel * selectionModel()

у меня же QAbstractItemModel


Название: Re: View
Отправлено: GreatSnake от Сентябрь 13, 2013, 15:09
Код
C++ (Qt)
void QAbstractItemView::setCurrentIndex ( const QModelIndex & index ) [slot]

Но я  не знаю index, я знаю только элемент-объект ,на который мне нужно поставить селектор
Код
C++ (Qt)
QModelIndex QAbstractItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() )


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 15:10
Сделал так
Код
C++ (Qt)
QModelIndex parentIndex = treemodel->parent(currentModelIndex);
treeview->selectionModel()->select(parentIndex,QItemSelectionModel::ClearAndSelect);
 

но все равно как-то... КРИВО
вроде выделил но... КРИВО

Надо чтоб весь row выделил


Название: Re: View
Отправлено: mutineer от Сентябрь 13, 2013, 15:15
может тебе нехватает флага QItemSelectionModel::Rows?


Название: Re: View
Отправлено: demaker от Сентябрь 13, 2013, 15:20
 :)Точно спасибо


Название: Re: View
Отправлено: kambala от Сентябрь 13, 2013, 17:52
научись пользоваться стандартным виндовым инструментом под названием Ножницы — избавит от необходимости заливать такие огромные скриншоты. или научись обрезать картинки в пэинте или другом редакторе изображений.


Название: Re: View
Отправлено: _OLEGator_ от Сентябрь 13, 2013, 20:10
Или использовать Alt+Print Screen, чтобы делать снимок только активного окна.