QScrollArea

QScrollArea不显示滚动条问题

在手动编写QScrollArea+QGridWidget代码的时候,会出现QScrollArea无法使用滚动条,而是压缩QScrollArea内部控件的问题,注意此时不能使用QGridWidget应用在QScrollArea,类似以下代码:

QGridLayout *layout = new QGridLayout(ui->scrollArea);
for(int i = 0; i < 40; i++)
{
    QLabel *label = new QLabel(ui->scrollArea);
    label->setText("text");
    layout->addWidget(label, i, 0, 1, 1);
}

而是应该另外单独创建一个QWidget,然后在新创建的QWidget上使用QGridWidget,代码如下:

QWidget *widget = new QWidget();
QGridLayout *layout = new QGridLayout(widget);
for(int i = 0; i < 40; i++)
{
    QLabel *label = new QLabel(widget);
    label->setText("text");
    layout->addWidget(label, i, 0, 1, 1);
}
ui->scrollArea->setWidget(widget);
posted @ 2023-03-04 15:57  呵哈呵  阅读(54)  评论(0)    收藏  举报