使用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. SQL Server 2008 的安装

    SQL Server 2008简体中文企业版下载(SQL2008) SQL Server 2008分为SQL Server 2008企业版.标准版.工作组版.Web版.开发者版.Express版.Co ...

  2. xml之Schema架构

    1.什么是Schema架构 2.Schema文档结构  3.Schema元素类型 1>element元素 <!--简单数据:类型--> <xs:element name=&qu ...

  3. “我爱淘”冲刺阶段Scrum站立会议4

    完成任务: 完成了搜索界面的Activity的编写. 计划任务: 实现数据库的链接,用户可以查到自己需要的书籍的信息. 遇到问题: 数据库的操作,实现查询功能:

  4. 转载:JS快速获取图片宽高的方法

    快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括IE低版本浏览器. 我们一步一 ...

  5. line-height:150%和line-height:1.5的区别

    base都是font-size,不管是继承的,还是自身的. "%":为继承父元素的距离 "无单位":计算各自的距离. 看demo1: 样式 body{ font ...

  6. 使用try-with-resources注意的问题

    package coin; import java.io.FileInputStream; import java.io.ObjectInputStream; /** * 使用 try-with-re ...

  7. 链路层三种类型的MAC地址

    若需要转载,请注明出处. 我们知道,链路层都是以MAC地址来进行通信双方的地址标识的,如下图:在应用中根据接收方的多寡来进行划分,可分为以下三种: 单播(Unicast) 多播(Multicast) ...

  8. eclipse编辑jsp文件和javascript代码很卡解决办法

    1.Window -> Preference -> General -> Editors -> Text Editors -> HyperLinking -> 在用 ...

  9. poj 2987 Firing 最大权闭合图

    题目链接:http://poj.org/problem?id=2987 You’ve finally got mad at “the world’s most stupid” employees of ...

  10. Yarn的服务库和事件库使用方法

    事件类型定义: package org.apache.hadoop.event; public enum JobEventType { JOB_KILL, JOB_INIT, JOB_START } ...