Oct. 25th, 2009

borisovs: (Default)
Понадобилось по нажатию на кнопке формы прокручивать таблицу. Т.е. заменить scrollbar.
По нажатию кнопки сверху, поднимаемся на одну строку.
По нажатию кнопки снизу, опускаемся.
У QTableView таких методов нет. Зато есть методы scrollToBottom () и scrollToTop (), наследуемые от QAbstractItemView.
Также есть метод scrollTo ( const QModelIndex &, ScrollHint ), но у QModelIndex нет переопределённых операторов ++ и --.
Идём в исходники QAbstractItemView, который наследуется QTableView и видим:

void QAbstractItemView::scrollToTop()
{
    verticalScrollBar()->setValue(verticalScrollBar()->minimum());
}

Значит делаем так:
void MyClass::scrollDown()
{
    int  current = tvPreview->verticalScrollBar()->value();
    tvPreview->verticalScrollBar()->setValue(++current);

}


void MyClass::scrollUp()
{
int  current = tvPreview->verticalScrollBar()->value();
tvPreview->verticalScrollBar()->setValue(--current);
}

Profile

borisovs: (Default)
Sergey

November 2016

S M T W T F S
  12345
678910 1112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 19th, 2017 08:46 pm
Powered by Dreamwidth Studios