使用QScrollArea可以帮助我们实现让一个widget的内容带有滚动条,用户可以通过拖动滚动条来查看更多内容, 
代码示例如下: 

1.带有滚动条的widget列表

  1. #include "widget.h"
  2. Widget::Widget(QWidget *parent)
  3. : QWidget(parent)
  4. {
  5. list=new QListWidget();
  6. lay=new QHBoxLayout();
  7. QSizeGrip *gr=new QSizeGrip(list);//用来重设widget的size
  8. scroll=new QScrollArea();
  9. scroll->setWidget(list);
  10. scroll->setAlignment(Qt::AlignLeft);
  11. // scroll->setWidgetResizable(true);
  12. scroll->setBackgroundRole(QPalette::Dark);// 设置滚动区域的背景
  13. //win=new QWidget();
  14. item1=new QListWidgetItem("BlueHills",list);//向widget列表中加入一项
  15. item2=new QListWidgetItem("Sunset",list);
  16. item3=new QListWidgetItem("Water lilies",list);
  17. item4=new QListWidgetItem("Himaliya is a good place",list);
  18. item5=new QListWidgetItem("Ooty",list);
  19. item6=new QListWidgetItem("Hero Honda",list);
  20. item7=new QListWidgetItem("www.google.com",list);
  21. item8=new QListWidgetItem("orkut.com",list);
  22. item9=new QListWidgetItem("sunrise",list);
  23. item10=new QListWidgetItem("OVI",list);
  24. item11=new QListWidgetItem("Nokia N97",list);
  25. item12=new QListWidgetItem("forum.nokia.com",list);
  26. item13=new QListWidgetItem("wellcome to Qt",list);
  27. item14=new QListWidgetItem("Qt rocks for s60",list);
  28. item15=new QListWidgetItem("Symbian c++",list);
  29. item16=new QListWidgetItem("5800 Xpress Music",list);
  30. item17=new QListWidgetItem("My best Phone",list);
  31. item18=new QListWidgetItem("I like N97",list);
  32. item19=new QListWidgetItem("Go for 5800",list);
  33. item20=new QListWidgetItem("America",list);
  34. // lay->addWidget(list);
  35. lay->addWidget(scroll);
  36. setLayout(lay);//setting layout
  37. showMaximized();
  38. }
  39. Widget::~Widget()
  40. {
  41. }

2.带有滚动条的图片显示

    1. Widget::Widget(QWidget *parent)
    2. : QWidget(parent)
    3. {
    4. QLabel *imageLabel = new QLabel(this);
    5. QImage image("E:\\flower.png",this);
    6. lay=new QHBoxLayout(this);
    7. imageLabel->setPixmap(QPixmap::fromImage(image));
    8. scrollArea = new QScrollArea(this);
    9. scrollArea->setWidgetResizable(1);
    10. scrollArea->setBackgroundRole(QPalette::Dark);
    11. scrollArea->setWidget(imageLabel);
    12. lay->addWidget(scrollArea);
    13. setLayout(lay);
    14. }
    15. Widget::~Widget()
    16. {
    17. }

http://blog.chinaunix.net/uid-25749806-id-337219.html

QScrollArea可以帮助我们实现让一个widget的内容带有滚动条(QWidget里内置QScrollArea,QScrollArea里再内置其它QWidget)的更多相关文章

  1. 想让一个Widget成为模态,我们只需要对其设置setAttribute(Qt::WA_ShowModal, true);

    想让一个Widget成为模态,我们只需要对其设置: setAttribute(Qt::WA_ShowModal, true); 注意:这是QWidget的成员函数 ,也就是说,QWidget可以显示为 ...

  2. Qt中各个widget前后位置的设定(在Qt中,所有问题都要一分为二,QWidget体系和QGraphicsWidget体系)

    这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常 ...

  3. ZeroMQ接口函数之 :zmq_msg_copy - 把一个消息的内容复制到另一个消息中

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_copy zmq_msg_copy(3)   ØMQ Manual - ØMQ/3.2.5 Name zm ...

  4. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?

    这是一个很有趣的问题,我测试的结果是:是在return中间执行. 我在网上搜寻了一些资料,下面是参考代码: /** * */ package com.b510.test; /** * try {}里有 ...

  5. ArcMap中"开始编辑"遇到一个或多个带有警告的图层“如果继续,可能无法编辑某些图层”的警告框

    开始编辑后可能出现的错误: 如果 ArcMap 在所选数据上启动编辑会话时遇到问题,将弹出一个对话框以提供附加信息.您可能会收到错误.警告或信息消息. 出现错误  时用户不可以启动任何编辑会话.只有解 ...

  6. centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常

    1.安装centos7.x,配置好网络2.因为docker需要比较高版本的内核,比如使用overlayfs作为默认docker文件系统要3.18,所以先升级内核到3.18以上版本,能直接过4是最佳了检 ...

  7. width这样读取出来是一个字符串,并且带有单位,但是offsetwidth返回的是一个数值。

    <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title> ...

  8. Explorer : 发布一个key-value存储系统,带有客户端和服务器端

    Explorer 一个key-value存储系统,带有客户端和服务器端.使用非常方便. 使用B+树作为存储引擎,客户端和服务器端使用TCP协议进行通信. 代码采用C++实现,底层将客户端和服务器通信封 ...

  9. 我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容

    我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容,目前测试了300多个新闻网站的新闻页,都能准确识别

随机推荐

  1. 理解JavaScript中的事件路由冒泡过程及委托代理机制

    当我用纯CSS实现这个以后.我开始用JavaScript和样式类来完善功能. 然后,我有一些想法,我想使用Delegated Events (事件委托)但是我不想有任何依赖,插入任何库,包括jQuer ...

  2. 微软职位内部推荐-Senior Software Engineer-Office Incubation

    微软近期Open的职位: Office China team is looking for experienced engineers to improve consumer experience i ...

  3. 丢掉 WinPE,使用 DISKPART 来分区吧

    自 Windows Vista 之后的操作系统,如果在安装系统的时候使用 Windows 自带的分区功能,则会多出一个 100M 的系统保留分区.这会让一个物理硬盘,原先最多可以分 4 个主分区的,现 ...

  4. BICEP单元测试计划-四则运算-测试

    一.6个值得测试的具体部位,他们能够提高你的测试技巧 Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制 ...

  5. java线程图

  6. hibernate3连oracle的各种坑。。

    坑一:驱动错误导致sql查询不了,升级驱动到最新版即可 2.通过构造函数封装数据时,如果报错无法实例化并且不是因为字段不对应导致的,可以试试把float改为Float之类的包装类

  7. C#制作高仿360安全卫士窗体<二>

    继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家,写的非常乱而且很少文字介绍.在 ...

  8. 一个包的net到gs流程

    再来看看一个包走共享内存的流程 先来看看net进程这块如何处理的 {//用shareData这种类型封装刚才从无锁队列中取到的包 shareData sd; sd.channel_id = pkt.c ...

  9. samba 常见问题

    今天帮一个朋友搭建samba服务器,发现总是无法正常访问,最后google+摸索搞定了,下面把遇到的问题和解决方法共享一下. 这里用的linux是centos版本6. 一开始遇到的问题是‘找不到网络路 ...

  10. NET 查找程序集路径(CLR关于Assembly的搜索路径的过程)

    最近在回顾.Net应用程序的执行环境,这里做一个很小的总结,方面以后需要的时候进行查找: CLR必须可以找到正确的Assembly,Net提供了Assembly搜索算法,可以根据.config文件(类 ...