QT ScrollBars doesn't appear with scrollAreaWidgetContents

  • I am trying to learn QT with visual studio. My development environment is VS2015 with QT designer. I am trying to do the following tutorial.


    essentially the tutorial displays an image with Qlabel and QScrollArea. If I create the widgets with code (using visual studio) the program seems to work.

     imageLabel = new QLabel;
     imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
     scrollArea = new QScrollArea;

    However, then I tried to do the same with QT Designer. When I dragged a ScrollArea from QT Designer, I noticed that it also created a QWidget called "scrollAreaWidgetContents". Then when I created the QLabel, Label was created under "scrollAreaWidgetContents" widget. I then tried to display the image using the following code.

    ui->label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
    ui->scrollAreaWidgetContents->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);

    The problem with this is that the scroll Bars never appears.

    Then I uncommented "ui->scrollArea->setWidget(ui->label);" line and then the program compiles but crashes. So, how do I make the scrollBars appear with QT Designer? What am I doing wrong.

    Thanks for the help

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    IIRC, you can use the "promote to" feature and make that widget a QLabel.

    Hope it helps

  • I tired it but it didn't let me promote QWidget ("scrollAreaWidgetContents") to QLabel. It said QLabel aleardy exists. I tried it using QT Designer.

  • Lifetime Qt Champion

    An alternative could be to just edit the .ui file directly and change scrollAreaWidgetContents to a QLabel. Would likely be faster.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.