2015-02-18 8 views
0

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

Затем я попытался добавить 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

Что происходит, если вы прикрепляете макет к окну просмотра, предполагая, что есть один набор? Подобно 'QVBoxLayout * layout = new QVBoxLayout (viewport());' – tomvodi

+0

Я новичок в Qt и, возможно, я не понимаю вас правильно, но я пробовал это - никакой разницы. – railmisaka

+0

Я отправил его в качестве ответа, потому что он содержит слишком много кода для комментария. – tomvodi

ответ

0

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

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

Благодарим вас за ответ, но он не работает (без разницы) – railmisaka

 Смежные вопросы

  • Нет связанных вопросов^_^