• QT界面开发-窗口滚动条【转发】


    转发自https://www.cnblogs.com/cppskill/p/10693889.html

    1、代码的方式来创建 ScrollArea,然后使用 倒是 正常(有滚动条显示),但是此方式太麻烦 不如直接拖控件来的方便直观快捷。

     但是,直接拖控件的方式 ScrollArea中无法显示出 滚动条,怎么设置都没用...

     ZC:后来这样做 可以显示 滚动条了:(只是记录下操作,未了解其中原理)

     操作:

      (1)在主界面上拖一个 QScrollArea,设置主界面为 栅格布局

      (2)点击 scrollArea下面的scrollAreaWidgetContents(QWidget),对 scrollArea设置 minimumSize(把高度&宽度的值设置得大一点)  这样就可以看到 scrollArea的滚动条了

      PS:可以设置 scrollArea的属性 frameShape和frameShadow 来改变 滚动窗口的外观样式

    2、代码创建的方式记录一下

    1 MainWindow1::MainWindow1(QWidget *parent) :
    2      QMainWindow(parent),
    3      ui(new Ui::MainWindow1)
    4 {
    5      ui->setupUi(this);
    6 }

    在上面的构造函数中 添加 下面你的代码:

     1 //滚动区域
     2         QScrollArea *s = new QScrollArea(this);
     3         s->setFrameShadow(QFrame::Sunken);
     4         s->setGeometry(0, 0, 200, 200);
     5         //垂直滚动条不可见,只能通过鼠标滑动
     6 //        s->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     7 
     8         //窗体1,其父窗体为滚动区域
     9         QWidget *w = new QWidget(s);
    10         //设置滚动区域的窗体
    11         s->setWidget(w);
    12         w->setGeometry(0, 0, 300, 300);
    13 
    14         //在窗体1上添加按钮
    15         QPushButton *btn = new QPushButton(w);
    16         btn->setText("123");
    17         btn->move(230, 130);
  • 相关阅读:
    移动端适配问题
    面试题
    c++学习之路
    es6特性
    ndoe安装依赖注意的问题
    如何阻止button默认的刷新页面操作
    npm 全局安装模块,出现XXX不是内部或外部命令解决方法
    .Net MVC系统源码与教学视频《资源分享系列6》
    Javascript书店课程设计《资源分享系列4》
    Python教程与源码《资源分享系列4》
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/12206161.html
Copyright © 2020-2023  润新知