使用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. html5+ plus和phoneGap、cordova的比较

    偶遇大神言论,摘录 phonegap出的早,自然用的人多.phonegap自己的定位是混合开发hybrid,用原生+js:HBuilder的定位是纯js搞定一切.5+ 和 phonegap在能力.性能 ...

  2. Spring MVC常用的注解类

    一.注解类配置 要使用springmvc的注解类,需要在springmvc.xml配置文件中用context:component-scan/扫描:  二.五大重要的注解类 1.RequestMapp ...

  3. 网站中的专题页或者tag聚合页的权重不错

    一.据最近的一些观察,觉得网站中的专题页或者tag聚合页的权重不错,因此多给网站制作一些专题页面,不仅有利于聚合站内的文章,更是绝对的原创内容,应该会受到百度的青睐.简评:关于权重的讨论,这篇无疑是很 ...

  4. windows下将多个文件里面的内容合并成一个一个文件

    如题:例如有多个章节的小说,现在要把他们合并成一个txt文件. 利用windows自带cmd工具: 一.拷贝合并1.将你的txt文档按照顺序分别命名为01.txt 02.txt 03.txt……2.将 ...

  5. SD 销售订单的BADI增强SD_BADI_PRICE_CHECK

    METHOD if_ex_badi_sd_sales~save_document.* CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'* EXPORTING* titel = ...

  6. php 设计API之优化 记

    服务器端 可以考虑使用rest实现,清晰url:put http://aa.com/news 客户端 curl实现muliti机制,实现多线程并发,节省多接口调用的时间 curl实现keepalive ...

  7. 【python】文件的输入和输出

    1.os模块 2.os.path 模块 3.实例 1. os模块 对文件系统的访问大多通过python的os模块实现,其中os 模块负责大部分的文件系统操作,包括删除/重命名文件,遍历目录树,管理文件 ...

  8. 设计模式之状态模式(State)

    状态模式原理:随着状态的变化,对象的行为也发生变化 代码如下: #include <iostream> #include <string> #include <list& ...

  9. SPOJ 057 Supernumbers in a permutation

    原题链接:http://www.spoj.com/problems/SUPPER/ 这道题n<=200000,那么确定为nlogn的算法,再定位到求LIS的O(nlogn)的算法. 对于每个a[ ...

  10. 迭代启发式搜索 IDA*

    本章聚集了一些做了的迭代启发式搜索的题目 为什么只打了迭代启发式搜索? 因为它很好打,有些类似迭代的时候加的最优化剪枝 [因为这个最优化剪枝其实就是你算的估价函数了...] BZOJ 1085 骑士精 ...