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

使用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

时间: 2024-10-13 10:31:02

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

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

这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系. ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),underStack(),hide()函数. 理论为:在Qt中每个widget窗口都维持着自己的一个创建栈(widget's stack.),栈里边存放

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 zmq_msg_copy - 把一个消息的内容复制到另一个消息中 Synopsis int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src); Description zmq_msg_copy()函数会将src指定的消息对象中的内容复制到dest指定的消息对象

linux中如何清空一个文件的内容

方法1: echo "" > /www.jbxue.com /xxx.log 方法2: echo "" >> /www.jbxue.com /xxx.log 方法3: 此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束 方法4: clear > /opt/log/big.log 此命令会把big.log文件内容清空,而不删除文件 方法5: 同样的效果,用true.f

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

Explorer 一个key-value存储系统,带有客户端和服务器端.使用非常方便. 使用B+树作为存储引擎,客户端和服务器端使用TCP协议进行通信. 代码采用C++实现,底层将客户端和服务器通信封装成了一个网络库,里面还有些还不错的实现可供看看,比如线程池.工作队列.Reactor设计模式实现等等. 项目地址:https://github.com/zinx2016/Explorer (欢迎大家给star  :) 编译方式 make 例子 首先启动服务器程序: 然后,运行客户端程序 : 首先,

每天一个JavaScript实例-使用带有定时器的函数闭包

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-使用带有定时器的函数闭包</title> <style> #redbox{ position:absolute; left:100px;

ArcMap中&quot;开始编辑&quot;遇到一个或多个带有警告的图层。如果继续,可能无法编辑某些图层。的警告框

开始编辑后可能出现的错误: 如果 ArcMap 在所选数据上启动编辑会话时遇到问题,将弹出一个对话框以提供附加信息.您可能会收到错误.警告或信息消息. 出现错误  时用户不可以启动任何编辑会话.只有解决了问题,才能编辑数据.如果没有可编辑的数据源.许可授权方面出现问题(例如,在使用 ArcGIS for Desktop Basic 时尝试编辑某些类型的地理数据库要素)或某些图层存在于底图图层内,就会收到错误消息. 出现警告  后,您仍然可以启动编辑会话,但无法编辑地图中的某些项.您需要先解决该特

写一个方法,输入两个正整数,输出在两个正整数范围内即被3整除,又被7整除的正整数

import java.util.Scanner;/* * @写一个方法,输入两个正整数,输出在两个正整数范围内即被3整除,又被7整除的正整数. * */public class Test5 { static Boolean boo=false; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long scan = scanner.nextLong(); long scan1

[Java] 获取保存某一个网站的内容

以下代码可用于获取某一个链接的响应结果, 并将响应结果做简单的处理后, 存入文件中. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter;

Python3基础 把一个列表中内容给另外一个列表,形成两个独立的列表

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 aList1=[1,2,3,4,5,6,7,213,54,124,774,2312,531,76] 2 aList2=aList1[:] 3 4 print(aList1) 5 print(aList2) 2 show ------------------------------