Прокрутка QTableView в QVBoxLayout в QScrollArea

У меня была проблема с виджетом QTableView:
Мне нужно горизонтальную прокрутку всего виджета с заголовками, но стандартная прокрутка прокручивает только содержимое, но не заголовки.

Затем я попытался добавить QScrollArea следующим образом (это все в QDockWidget):

class matrix : public QScrollArea {
};

в конструкторе:

QVBoxLayout* layout = new QVBoxLayout(this);

tableView = new QTableView(this);
tableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
layout->addWidget(tableView);

this->setLayout(layout);

но это не работает должным образом: полоса прокрутки не появляется.

(извините, если я нарушу некоторые правила — это мой первый вопрос здесь, и извините за мой плохой английский)

0

Решение

Вы можете, например, удалить макет и установить QTableView прямо как окно просмотра.

tableView = new QTableView;
setWidget(tableView);
setWidgetResizable(true);
tableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
0

Другие решения


По вопросам рекламы [email protected]