У меня была проблема с виджетом 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);
но это не работает должным образом: полоса прокрутки не появляется.
(извините, если я нарушу некоторые правила — это мой первый вопрос здесь, и извините за мой плохой английский)
Вы можете, например, удалить макет и установить QTableView
прямо как окно просмотра.
tableView = new QTableView;
setWidget(tableView);
setWidgetResizable(true);
tableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);