Qt事例: QScrollArea滚动区域

/******* ChatList.h ******/

#ifndef CHATLIST_H
#define CHATLIST_H
#include <QWidget>
#include <QScrollArea>

class ChatList: public QWidget
{
public:
    ChatList(QWidget *parent);
    ~ChatList();
    void initComponent();
private:
    QScrollArea *m_pScrollArea;
};
#endif // CHATLIST_H

/******* ChatList.cpp ******/
#include "ChatList.h"
#include <QGridLayout>
#include <QPushButton>
ChatList::ChatList(QWidget *parent):QWidget(parent)
{
    initComponent();
}
ChatList::~ChatList()
{
    delete m_pScrollArea;
}
void ChatList::initComponent()
{
    m_pScrollArea = new QScrollArea(this);
    //m_pScrollArea->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
    m_pScrollArea->setWidgetResizable(true);

QGridLayout *pSCLayout = new QGridLayout;
    pSCLayout->setContentsMargins(0,0,0,0);
    pSCLayout->setHorizontalSpacing(0);
    pSCLayout->setVerticalSpacing(0);
    //pSCLayout->setSizeConstraint(QVBoxLayout::SetMinAndMaxSizet);

QWidget *widget = new QWidget(this);
    //widget->setMinimumSize(72, 32);
    //widget->setMaximumSize(80, 32);
    for(int i=0; i < 10; i++)
    {
        QPushButton *pshButt = new QPushButton(QString("PushButton")+QString::number(i+1), widget);
        pshButt->setFixedHeight(60);
        pshButt->setMinimumSize(pshButt->size());
        pSCLayout->addWidget(pshButt, i, 0);
    }
    widget->setLayout(pSCLayout);
    m_pScrollArea->setWidget(widget);

QVBoxLayout *m_mainLayout = new QVBoxLayout(this);
    m_mainLayout->setContentsMargins(0, 0, 0, 0);
    m_mainLayout->setSpacing(0);
    m_mainLayout->addWidget(m_pScrollArea);

setLayout(m_mainLayout);
}

/******* mainwindow.h ******/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
    Q_OBJECT    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();    
private:
};
#endif // MAINWINDOW_H

/******* mainwindow.cpp ******/
#include "mainwindow.h"
#include "ChatList.h"
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent):
    QMainWindow(parent)
{
    ChatList *w = new ChatList(this);
    w->resize(QSize(300,500));
    QPushButton *pshButt = new QPushButton(QString("PushButton"),this);
    pshButt->setGeometry(0,510,300,60);
}
MainWindow::~MainWindow()
{
}

/******* main.cpp ******/
#include <QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.resize(500,600);
    w.show();    
    return a.exec();
}

Qt事例: QScrollArea滚动区域相关推荐

  1. linux+qt4.8画波形图,Qt画笔实现波形区域图

    参考文章:https://blog.csdn.net/yuxing55555/article/details/79752978 效果图: void WareArea::paintEvent(QPain ...

  2. qt通过代码创建滚动区域,添加滚动区域到窗口

    引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口 ...

  3. Qt滚动区域原理(QAbstractScrollArea)

    Qt滚动区域原理(QAbstractScrollArea) 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文出自本人原创著作<Qt5.10 GUI完全参考手册 ...

  4. qt设置滚动区域的滚动条的样式

    引言 当窗口的控件太多,不能一下完全显示,就可以采用滚动区域来添加控件,这样添加的控件,可以通过滑动滚动区域的滚动条来浏览所有的控件.下面就大致记录一下滚动区域的滚动条的样式怎么设置. 实现 直接上设 ...

  5. 【学习笔记】C++ GUI Qt4 第六章 6.4 滚动区域 和 6.5 停靠窗口和工具栏

    文章目录 6.4 滚动区域 6.5 停靠窗口和工具栏 6.4 滚动区域 QScrollArea类提供了一个可以滚动的视口和两个滚动条.如果想给一个窗口部件添加一个滚动条,则可以使用一一个QScroll ...

  6. QT的QScrollArea类的使用

    详细说明 QScrollArea类提供了另一个窗口小部件的滚动视图. 滚动区域用于显示框架内子窗口小部件的内容. 如果窗口小部件超出框架的大小,则视图可以提供滚动条,以便可以查看子窗口小部件的整个区域 ...

  7. Qt扫盲-QScrollArea理论总结

    QScrollArea理论总结 1. 概述 2. 滚动条策略 3. 子控件 4. 尺寸提示 1. 概述 QScrollArea 用于显示滚动区域框架内的子控件的内容.如果控件超过框架的大小,视图可以提 ...

  8. Qt图片定时滚动播放器+透明过渡动画

    目录 参考 结构 PicturePlay.pro main.cpp myqlabel.h 自定义QLabel myqlabel.cpp自定义QLabel pictureplay.h picturepl ...

  9. 《微信小程序案例5》仿小米Lite小程序分类板块-两个纵向滚动区域独立互不影响

    一.小米Lite分类板块图 二.技术分解 1.布局是分为左右两个纵向滚动区域,使用   <scroll-view> 2.每个小菜单的如图片 标题等内容使用js里面的data来保存 3.如此 ...

最新文章

  1. 「图像分割模型」编解码结构SegNet
  2. python sort函数时间复杂度_STL用法及其时间复杂度分析
  3. js中获取事件对象的方法小结
  4. java线程暂停与恢复suspend和resume
  5. 1024程序员节 | 我敢____,你敢么?Are you ready?
  6. Dell PowerEdge R610 iDRAC6 远程控制卡设置手册
  7. 单元测试框架TestableMock快速入门(四):Mock的生效范围
  8. ARRIS路由器梅林系统救砖
  9. F5 对接 Consul 实现服务发现和服务注册实践
  10. Unity 2D独立开发手记(外篇):Anima2D动画制作
  11. 如何用计算机函数来求加权总分,Excel计算加权总分,函数公式还是超级表厉害,一起看看!-excel乘法函数...
  12. 深度学习目标检测模型的评价标准-AP与mAP
  13. 实例展示:用css实现网页图片特效
  14. ISCC2021—小明的宠物兔、表情包
  15. Honeywell EPKS通用中文操作手册
  16. 关于element-ui的el-table某列不显示或错乱问题
  17. 人工智能程序可1秒检测出肠癌 准确率86% | 医疗
  18. 这所C9高校的8个CS院系,有你心仪的吗?
  19. 怎样对别的计算机进行远程协助,如何控制别人的电脑?教你如何远程协助
  20. 工信部与阿里牵头即将联合打造物联网区块链框架

热门文章

  1. Database---Access Methods
  2. 百度网盟广告关键词定向展现方式原理
  3. Python 还能实现图片去雾?FFA 去雾算法、暗通道去雾算法用起来! | 附代码
  4. 想做倒卖生意,现在有两万启动资金,倒卖什么比较好?
  5. 还在为创业资金发愁?1000万元+产业资源等你来拿!
  6. 性能优化的指标和工具
  7. 使用woo 语言开发 sockets4 sockets5 http https代理完整记录
  8. Android Gradle 技巧之二: 最爱命令行
  9. LSTM对股票的收益进行预测(Keras实现)
  10. 将Chrome插件Momentum背景图片设为桌面壁纸