我目前在QScrollArea中有一个QTableWidget,我想在需要时触发滚动区域的滚动条,而不是TableView上的滚动条。 我设法禁用了TableView的滚动条,但是没有触发另一个滚动条。
auto *scroll = new QScrollArea;
auto *scrollWidget = new QWidget;
auto *gridLayout = new QGridLayout(scrollWidget);
auto *table = new QTableWidget;
table->setRowCount(3);
table->setColumnCount(4);
// Disable scroll bar of the table
table->horizontalScrollBar()->setDisabled(true);
table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
gridLayout->addWidget(table);
scroll->setWidget(scrollWidget);
scroll->setWidgetResizable(true);
scroll->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
我认为这与TableView的视口有关。也许是将视口调整为内容。
感谢您的帮助。
答案 0 :(得分:0)
固定设置表格的fixedWidth如下:
int size{ 0 };
for (int i = 0; i < table->columnCount(); ++i)
size += table->columnWidth(i);
table->setFixedWidth(size);