关于QT添加滚动条实现滚动

QScrollArea的使用

  • 实现窗体有两种方法第一一可以自定义代码去确定滚动区域和滚动窗口
  • 例如 ` QScrollArea *scrollArea = new QScrollArea; //创建滚动区域由;QWidget *sw = new QWidget()创建一个内容显示窗口
  •        scrollArea->setWidget(sw);滚动区域和内容窗口绑定` scrollArea->setGeometry(0, 0, 720, 1000); sw->setGeometry(0, 0, 800, 1200);内容窗口的大小比滚动区域要大。这基本完成基本可以实现滚屏但是这种方法的不好往内容窗体sw里添加内容;
    
  • 2因此还是得在qt的ui界面直接操作—1先拖拽一个ScrollArea控件确定好区域然后在里面进行布局结束后的话就可以进行操作关于QT添加滚动条实现滚动_第1张图片
  • 图中的1就是滚动区域的名继承于QScrollArea名字可以修改,2就是内容窗体的名字继承于QWidget 同样也可以修改名字;3代表2区域内的控件。然后最后要设置QScrollArea的一个属性widgetResizable,这个属性用代码生成的时候默认是false,而用设计生成默认是true,找到它把它设置成false。这里在设计中创建是默认勾选的,去掉√,最后运行就ok了,但是还得再加入几行代码才能实现滚屏
  •     ui->scrollArea->setGeometry(0, 0, 720, 1000);
        ui->scrollArea->setWidget(ui->scrollAreaWidgetContents);
        ui->scrollAreaWidgetContents->setGeometry(0, 0, 800, 1200);//区域要更大
    

-要注意的是碰到滚动条因为缩放隐藏的情况要先做好界面的布局管理

  • widgetResizable属性修改要先单击上图的1即scrollArea然后下面的参数表中找到该属性勾选

参考:https://blog.csdn.net/iMc980925/article/details/80363707

你可能感兴趣的:(个人随笔)