Название: [РЕШЕНО] как правильно обновить представление QTablView Отправлено: slava_d200 от Апрель 08, 2012, 02:49 Прошу подсказки.
программно устанавливаю активную строку в QTablView если эта строка в зоне отображения то все хорошо, а если эта строка в не зоне отображения то QTablView не показывает ее. Что надо сделать чтобы автоматом проходила прокрутка до выбранной строки. и второй вопрос. QTablView настроен на выделение всей строки. но если я устанавливаю программно активную ячейку, выделяется тока эта ячейка а не вся строка. как сделать чтобы выделялась вся строка ? Название: Re: как правильно обновить представление QTablView Отправлено: V1KT0P от Апрель 08, 2012, 03:06 но если я устанавливаю программно активную ячейку, выделяется тока эта ячейка а не вся строка. как сделать чтобы выделялась вся строка ? Код
Название: Re: как правильно обновить представление QTablView Отправлено: slava_d200 от Апрель 08, 2012, 03:10 но если я устанавливаю программно активную ячейку, выделяется тока эта ячейка а не вся строка. как сделать чтобы выделялась вся строка ? Код
СПАСИБО помогло. Название: Re: как правильно обновить представление QTablView Отправлено: V1KT0P от Апрель 08, 2012, 03:12 но если я устанавливаю программно активную ячейку, выделяется тока эта ячейка а не вся строка. как сделать чтобы выделялась вся строка ? Код
СПАСИБО помогло. Код Ибо в QTableWidget например не скролит до строки если она уже выделена, даже если за пределом видимой части. Название: Re: как правильно обновить представление QTablView Отправлено: slava_d200 от Апрель 08, 2012, 03:15 еще раз СПАСИБО.
тока теперь встал вопрос. а как определить выделенная строка находится в зоне видимости или нет? Название: Re: как правильно обновить представление QTablView Отправлено: V1KT0P от Апрель 08, 2012, 04:02 еще раз СПАСИБО. Если делать правильно, то наверно надо наследоваться и добавлять функцию(ибо я что-то не вижу функцию которая возвращает видимую внутреннюю область). Но можно вот такой костыль использовать:тока теперь встал вопрос. а как определить выделенная строка находится в зоне видимости или нет? Код В итоге мы получим значения с какой по какую строку видно. Но только если нижняя строка хоть на пиксель отрисовывается, то будет считаться что она видна. Название: Re: как правильно обновить представление QTablView Отправлено: Bepec от Апрель 08, 2012, 09:18 Помоему гораздо проще крутить каждый раз
Код: QTableView->scrollTo(QTableView->currentIndex()); Там жеж 3 варианта прокрутки - попиксельно, поитемно и ещё какой то ;) Если будет выделяться не чаще чем раз в 300 мс, то тормозов и лагов не будет ;) Название: Re: как правильно обновить представление QTablView Отправлено: slava_d200 от Апрель 08, 2012, 10:58 немогу понять.
если список большой и я позициирую к примеру 3-ю строку. то в некоторых случаях выделенная строка отображается самой первой и убирает верхнии 2-е строки. а в некоторых случаях при таких же манипуляциях. выделенная строка отображается третьей в списке и не прячет первые две строки. Название: Re: как правильно обновить представление QTablView Отправлено: V1KT0P от Апрель 08, 2012, 12:07 немогу понять. Замени это:если список большой и я позициирую к примеру 3-ю строку. то в некоторых случаях выделенная строка отображается самой первой и убирает верхнии 2-е строки. а в некоторых случаях при таких же манипуляциях. выделенная строка отображается третьей в списке и не прячет первые две строки. Код на это: Код Теперь строка будет всегда вверху, если это возможно. Название: Re: как правильно обновить представление QTablView Отправлено: GreatSnake от Апрель 08, 2012, 12:24 Внимательно смотрим второй аргумент QAbstractItemView::ScrollHint:
Код и не городим огород) Название: Re: как правильно обновить представление QTablView Отправлено: slava_d200 от Апрель 08, 2012, 14:38 Внимательно смотрим второй аргумент QAbstractItemView::ScrollHint: Код и не городим огород) все получилось!!!! большое СПАСИБО всем откликнувшимся. |