QListWidget实现图片缩略图形式的列表

Qt类4.8帮助文档:http://doc.qt.io/qt-4.8/

1、图片资源文件

<RCC>
   <qresource prefix="/list">
       <file>image/1.jpg</file>
       <file>image/2.jpg</file>
   </qresource>
</RCC>   

2、实现代码


#include<QApplication>
#include<QListWidget>
#include<QPixmap>
#include<QIcon>
#include<unistd.h>

int main(int argc,char* argv[])
{
    QApplication  app(argc,argv);

    QListWidget  *listWidget = new QListWidget();
    listWidget->setSpacing(10);
//    listWidget->setResizeMode(QListView::Adjust);
    listWidget->setViewMode(QListView::IconMode);
    listWidget->setIconSize(QSize(100,100));
    QPixmap pix1(QString(":/list/image/1.jpg"));
    QPixmap pix2(":/list/image/2.jpg");
    QListWidgetItem *item1 = new QListWidgetItem(QIcon(pix1.scaled(QSize(100,100))),"picture1");
    QListWidgetItem *item2 = new QListWidgetItem(QIcon(pix2.scaled(QSize(100,100))),"picture2");

    listWidget->addItem(item1);
//  listWidget->addItem(item2);
    item1->setSizeHint(QSize(100,120));
    item2->setSizeHint(QSize(100,120));

    listWidget->clear();
    listWidget->insertItem(10,item2);
//    listWidget->addItem(item1);

//   item1->setSizeHint(QSize(100,120));
    item2->setSizeHint(QSize(100,120));

    listWidget->show();
    app.exec();
    return 0;
}

3、用到的类方法

QListWidget::setIconSize 设置单元项中图片大小(上限)

QSize 设置尺寸

QListWidget::setViewMode 设置显示模式,图片在上,名字在下,横向排列

QListWidget::setMovement 设置单元项不可拖动

QListWidget::setSpacing 设置单元项间距

QListWidget::setResizeMode 设置自动适应布局调整(Adjust适应,Fixed不适应),默认不适应

QListWidgetItem::setSizeHint 设置单元项为固定的宽度和高度

QListWidget::insertItem 插入项目

QPixmap::scaled 将图片进行伸缩

QPixmap(Path) 根据路径生成图像

QListWidget::clear() 清除所有项目(彻底删除)

4、注意

  • QListWidgetItem::setSizeHint 固定了每个单元项的大小, QListWidget::setIconSize 固定了单元项中用来放置图片的最大尺寸,QPixmap::scaled 是图片的实际显示大小,尺寸不能超过设置的最大尺寸。

  • clear()会delete掉所有添加到列表中的QListWidgetItem,就像代码中clear()之后注释掉的item1,不能再次添加了,因为item1已经不存在了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 15:39:00

QListWidget实现图片缩略图形式的列表的相关文章

重写TreeView,多层级节点下批量显示图片,图片支持缩略图和文件名列表切换,支持调用者动态匹配选中,支持外界拖入图片并添加到对应节点下

原文:重写TreeView,多层级节点下批量显示图片,图片支持缩略图和文件名列表切换,支持调用者动态匹配选中,支持外界拖入图片并添加到对应节点下 1.先看下整体效果 2.前端代码 1 <UserControl x:Class="iPIS.UI.Base.Tree.ImageTreeControl" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x=&quo

最蛋疼的bug:读取图片缩略图(一定要在相册查看下形成缓存)

最近的一个连接服务端的应用,需要读取图片,一般供用户发布商品选择上传图片,初始的图片列表应该是缩略图,只有确定了,才上传原图,OK不多说上代码 package edu.buaa.erhuo; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.JSONArray; import

插件 KSImageNamed 用图片时自动显示图片缩略图

https://github.com/ksuther/KSImageNamed-Xcode 也是非常残暴的一个功能,在开发中我们的图片名称都是fb_poinum_high类似的,用这个插件敲出前缀就能够看到对应的一批图片缩略图再上下选择非常方便. 不足之处也有,那就是已经敲完的代码想看到图片缩略图必须先把imageNamed删掉 再重新敲一次才能看到缩略图,如果在@"fb_poinum_high" 图片名中一修改就能看到图片列表就更好了. KSImageNamed 安装后无效解决方法

Asp.Net 高清图片缩略图生成

生成缩略图核心代码: /// <summary> /// 图片上传 生成缩略图 /// </summary> /// <param name="files">文件上传控件</param> /// <param name="path">文件夹名称</param> /// <param name="fname">文件名称</param> /// <p

把文本以图片的形式保存

private void ToConvert_Click(object sender, EventArgs e) { string strPath = System.Windows.Forms.Application.StartupPath; ConvertTextFileToImage(strPath + @"\文件\aa.txt", strPath + @"\文件\SSS.png"); pictureBox1.Image = Image.FromFile(str

安卓获取图片缩略图的两种方式

1. /** * 通过内容提供器来获取图片缩略图 缺点:必须更新媒体库才能看到最新的缩略图 * @param context * @param cr * @param Imagepath * @return */ public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) { ContentResolver testcr = context.getContentReso

js把某个div或其他元素用图片的形式导出或下载

很多时候需要用到把页面上的某个块元素用图片的形式导出来,例如导出一些表格构成的单据 思路:把指定的html内容转换成canvas,然后再转换成图片 这里推荐使用这两个库 <script src="https://superal.github.io/canvas2image/canvas2image.js"></script> <script src="https://html2canvas.hertzen.com/dist/html2canvas

css3 设置背景图片大小(缩略图形式缩小)

废话当然不说了.直接上代码 <style> #mycon { background:url('Tpl/1.jpg'); background-size:400px 400px; background-repeat:no-repeat; border-radius: 4px; border: 1px solid #ccc; width: 400px; height: 400px; } </style> <div id="mycon"> 原来背景图大小:

QListWidget方式显示缩略图

最近在工作中经常遇到了一个问题就是把把文件夹中的图片全部以缩略图的形式显示出来,刚开始的时候一头雾水,不知道怎么办,经过在网上查资料,发现QListWidget控件可以实现图片的缩略图显示,但是不知道怎么利用这个控件实现这个功能,网上有很多例子,但是在windows系统上用Qt编译这些程序以后却得不到理想的效果,虽然也可以让这些图片以缩略图的形式显示,但是都必须把这些图片做成资源文件,这和平时的开发中把很多即时的图片以缩略图的形式显示完全不同.所以找了好几天资料,最终解决了这个问题,下面是实现缩