Russian Qt Forum
Сентябрь 30, 2024, 14:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: [Решено]View  (Прочитано 6959 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« : Сентябрь 13, 2013, 12:54 »

Подскажите как устанавливать позицию селектора во view программно?
« Последнее редактирование: Сентябрь 19, 2013, 11:19 от demaker » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Сентябрь 13, 2013, 13:22 »

view->selectionModel()->select(...) или view->selectionModel()->setCurrentIndex(...), если я правильно понял вопрос
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #2 : Сентябрь 13, 2013, 13:34 »

Сейчас поясню
Шаг первый
общая картина находимся на device2 у которого нет потомков
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #3 : Сентябрь 13, 2013, 13:36 »

Шаг2
Жмем желтую стрелочку
и видим в правом окошке
отображение потомков MyStation.
Но селектор находится не на MyStation.

Как его туда передвинуть?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #4 : Сентябрь 13, 2013, 13:53 »

фокус что ли установить? myStationView->setFocus()
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #5 : Сентябрь 13, 2013, 14:02 »

Нет,не фокус.
А чтоб синяя полоска была на надписи MуStation.
Записан
mutineer
Гость
« Ответ #6 : Сентябрь 13, 2013, 14:18 »

view->selectionModel()->setCurrentIndex(...)
или
view->selectionModel()->select(...)
не подходят?
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #7 : Сентябрь 13, 2013, 14:33 »

view->selectionModel()->setCurrentIndex(...)
или
view->selectionModel()->select(...)
не подходят?

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

Сообщений: 4744



Просмотр профиля WWW
« Ответ #8 : Сентябрь 13, 2013, 14:51 »

это уже лично твоя задача как по объекту получить нужный индекс
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #9 : Сентябрь 13, 2013, 14:57 »

Ладно индекс запихнем в переменную, которая будет в объекте.
а с этим, что делать
Код:
QItemSelectionModel * selectionModel()

у меня же QAbstractItemModel
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Сентябрь 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() )
« Последнее редактирование: Сентябрь 13, 2013, 15:10 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #11 : Сентябрь 13, 2013, 15:10 »

Сделал так
Код
C++ (Qt)
QModelIndex parentIndex = treemodel->parent(currentModelIndex);
treeview->selectionModel()->select(parentIndex,QItemSelectionModel::ClearAndSelect);
 

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

Надо чтоб весь row выделил
« Последнее редактирование: Сентябрь 13, 2013, 15:13 от demaker » Записан
mutineer
Гость
« Ответ #12 : Сентябрь 13, 2013, 15:15 »

может тебе нехватает флага QItemSelectionModel::Rows?
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #13 : Сентябрь 13, 2013, 15:20 »

 :)Точно спасибо
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #14 : Сентябрь 13, 2013, 17:52 »

научись пользоваться стандартным виндовым инструментом под названием Ножницы — избавит от необходимости заливать такие огромные скриншоты. или научись обрезать картинки в пэинте или другом редакторе изображений.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.104 секунд. Запросов: 22.