【Qt学习】 列表更新显示

24 篇文章 35 订阅
订阅专栏

目录

一:效果展示

二:具体实现步骤


一:效果展示

点击左侧按钮,列表更新显示 

点击左侧按钮,列表更新显示  

点击左侧按钮,列表更新显示  

点击左侧按钮,列表更新显示  

二:具体实现步骤

1.最初进入视频播放器时候的显示

   image目录下的所有图片

    //最初进入视频播放器时候的显示 - image目录下的所有图片
    //获取视频图片路径 -                 从当前目录下往下找
    QString videopath = QDir::currentPath()+"/image";
    qDebug()<<videopath;
    QDir dir(videopath);//确定路径 从此dir路径下往下找

    QStringList moviename;//存放所有.png图片
    moviename << "*.png"; //查找所有.png图片
    //entryList--类似打开目录文件夹的操作                 文件         可读     排序按照名字排序
    QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);
    qDebug()<<files; //查找.png图片名

    for(int i=0;i<files.size();i++)
    {
        //显示所有的.png图片及名称
        //QListWidgetItem类 就是列表项类
        QListWidgetItem *newitem = new QListWidgetItem(          //自适应列表项中的图片大小
                    QIcon(QPixmap(videopath+"/"+files.at(i)).scaled(QSize(100,100))),files.at(i));

        //设置列表项中的图片大小
        videowinlist->setIconSize(QSize(100,100));
        //设置列表项整体的尺寸
        newitem->setSizeHint(QSize(250,190));
        //设置列表项中的文字对齐方式:水平居中
        newitem->setTextAlignment(Qt::AlignHCenter);
        //在列表框中添加列表项
        videowinlist->addItem(newitem);
    }

2.在点击按钮后先进行原先视频列表中列表项元素的清空(clear)

   再根据分文件管理下,对不同目录下的图片实现列表化的显示(如:

            QString videopath = QDir::currentPath()+"/image/推荐";
        QString videopath = QDir::currentPath()+"/image/电视剧";
        QString videopath = QDir::currentPath()+"/image/电影";
        QString videopath = QDir::currentPath()+"/image/综艺";

完整源码分享 

//视频播放器界面中左边窗口的不同的按钮实现不同的响应
//更新视频列表 - 分文件管理
void IndexWin::goNewwinSlot()
{
    //获取点击按钮的文本信息 - sender -对QPushButton对象进行操作
    QPushButton *btn = (QPushButton *)sender();
    //按钮对象文本信息的获取和保存
    QString btnName = btn->text();
    //qDebug()<<btn->text();

    //根据获取到的文本信息进行判断 - 根据文本信息进行区分不同的按钮 - 不同的按钮做出不同的响应
    //更新列表    分文件管理
    if(btnName == "推荐")
    {
        //先清空之前列表 再进行更新
         videowinlist->clear();
        //更新推荐列表
            //获取推荐中图片的路径 -                     从当前目录下往下找
            QString videopath = QDir::currentPath()+"/image/推荐";
            qDebug()<<videopath;
            QDir dir(videopath);//确定路径 从此dir路径下往下找

            QStringList moviename;//存放所有.png图片
            moviename << "*.png"; //查找所有.png图片
            //entryList--类似打开目录文件夹的操作                 文件         可读     排序按照名字排序
            QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);
            qDebug()<<files; //查找.png图片名

            for(int i=0;i<files.size();i++)
            {
                //显示所有的.png图片及名称
                //QListWidgetItem类 就是列表项类
                QListWidgetItem *newitem = new QListWidgetItem(
                            QIcon(QPixmap(videopath+"/"+files.at(i)).scaled(QSize(100,100))),files.at(i));

                //设置列表项中的图片大小
                videowinlist->setIconSize(QSize(100,100));
                //设置列表项的尺寸
                newitem->setSizeHint(QSize(250,190));
                //设置文字对齐方式:水平居中
                newitem->setTextAlignment(Qt::AlignHCenter);
                //在列表框中添加列表项
                videowinlist->addItem(newitem);
            }
            //   弹窗            对话框悬空在上面-NULL
            QMessageBox::information(NULL,"推荐",btn->text());
    }
    if(btnName == "电视剧")
    {
        videowinlist->clear();

        //更新电视剧列表
        //获取电视剧图片路径 -                    从当前目录下往下找
        QString videopath = QDir::currentPath()+"/image/电视剧";
        qDebug()<<videopath;
        QDir dir(videopath);//确定路径 从此dir路径下往下找

        QStringList moviename;//存放所有.png图片
        moviename << "*.png"; //查找所有.png图片
        //entryList--类似打开目录文件夹的操作                 文件         可读     排序按照名字排序
        QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);
        qDebug()<<files; //查找.png图片名

        for(int i=0;i<files.size();i++)
        {
            //显示所有的.png图片及名称
            //QListWidgetItem类 就是列表项类
            QListWidgetItem *newitem = new QListWidgetItem(
                        QIcon(QPixmap(videopath+"/"+files.at(i)).scaled(QSize(100,100))),files.at(i));

            //设置列表项中的图片大小
            videowinlist->setIconSize(QSize(100,100));
            //设置列表项的尺寸
            newitem->setSizeHint(QSize(250,190));
            //设置文字对齐方式:水平居中
            newitem->setTextAlignment(Qt::AlignHCenter);
            //在列表框中添加列表项
            videowinlist->addItem(newitem);
        }
            QMessageBox::information(NULL,"电视剧",btn->text());
    }
    if(btnName == "电影")
    {
        videowinlist->clear();

        //更新电影列表
        //获取电影图片路径 -                     从当前目录下往下找
        QString videopath = QDir::currentPath()+"/image/电影";
        qDebug()<<videopath;
        QDir dir(videopath);//确定路径 从此dir路径下往下找

        QStringList moviename;//存放所有.png图片
        moviename << "*.png"; //查找所有.png图片
        //entryList--类似打开目录文件夹的操作                 文件         可读     排序按照名字排序
        QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);
        qDebug()<<files; //查找.png图片名

        for(int i=0;i<files.size();i++)
        {
            //显示所有的.png图片及名称
            //QListWidgetItem类 就是列表项类
            QListWidgetItem *newitem = new QListWidgetItem(
                        QIcon(QPixmap(videopath+"/"+files.at(i)).scaled(QSize(100,100))),files.at(i));

            //设置列表项中的图片大小
            videowinlist->setIconSize(QSize(100,100));
            //设置列表项的尺寸
            newitem->setSizeHint(QSize(250,190));
            //设置文字对齐方式:水平居中
            newitem->setTextAlignment(Qt::AlignHCenter);
            //在列表框中添加列表项
            videowinlist->addItem(newitem);
        }
        QMessageBox::information(NULL,"电影",btn->text());
    }
    if(btnName == "综艺")
    {
        videowinlist->clear();

        //更新综艺列表
        //获取综艺图片路径 -                     从当前目录下往下找
        QString videopath = QDir::currentPath()+"/image/综艺";
        qDebug()<<videopath;
        QDir dir(videopath);//确定路径 从此dir路径下往下找

        QStringList moviename;//存放所有.png图片
        moviename << "*.png"; //查找所有.png图片
        //entryList--类似打开目录文件夹的操作                 文件         可读     排序按照名字排序
        QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);
        qDebug()<<files; //查找.png图片名

        for(int i=0;i<files.size();i++)
        {
            //显示所有的.png图片及名称
            //QListWidgetItem类 就是列表项类
            QListWidgetItem *newitem = new QListWidgetItem(
                        QIcon(QPixmap(videopath+"/"+files.at(i)).scaled(QSize(100,100))),files.at(i));

            //设置列表项中的图片大小
            videowinlist->setIconSize(QSize(100,100));
            //设置列表项的尺寸
            newitem->setSizeHint(QSize(250,190));
            //设置文字对齐方式:水平居中
            newitem->setTextAlignment(Qt::AlignHCenter);
            //在列表框中添加列表项
            videowinlist->addItem(newitem);
        }
        QMessageBox::critical(NULL,"综艺",btn->text());
    }
    if(btnName == "儿童")
    {
        QMessageBox::question(NULL,"儿童",btn->text());
    }
    if(btnName == "动漫")
    {
        QMessageBox::warning(NULL,"动漫",btn->text());
    }
    if(btnName == "游戏")
    {
        QMessageBox::about(NULL,"游戏",btn->text());
    }
    if(btnName == "纪录片")
    {
        QMessageBox::information(NULL,"纪录片",btn->text());
    }
    if(btnName == "体育")
    {
        QMessageBox::information(NULL,"体育",btn->text());
    }
}
Qt实现对界面列表数据的局部刷新
liushiyi3083862599的博客
03-30 709
Qt中,可以使用QAbstractListModel类来创建自定义的ListModel,实现对界面列表数据的局部刷新。在上面的QML代码中,创建了一个ListView,并将CustomListModel作为model。通过model中的updateData函数实现列表内容的部分刷新。在这个示例中,`CustomListModel` 是一个自定义的ListModel,其中实现了更新数据的槽函数 `updateData()`。
QT列表
foreverjueye的博客
04-26 3642
文本框中显示点击过的内容
QtQt多元素控件深入解析与实战应用:列表(QListWidget)、表格(QTableWidget)与树形(QTreeWidget)结构
最新发布
Colorful___的博客
05-20 1311
Qt框架中,用户界面的构建是一个至关重要的环节,而其中多元素控件的使用更是构建丰富用户界面的核心。本文将深入探讨Qt中的三种主要多元素控件:List Widget、Table Widget和Tree Widget。通过详细的代码示例和功能解析,本文旨在帮助开发者更好地理解和运用这些控件,以创建具有交互性和功能性的应用程序界面。无论是初学者还是有经验的开发者,都能从本文中获得有价值的信息和启发。
Qt的基本控件——列表控件
m0_60259116的博客
01-06 2382
Qt的基本控件——列表控件
12-Qt6 列表类QList
yanchenyu365的博客
08-13 2084
QList类是一种表示链表的模板类,一种泛型容器类,以列表形态存储并管理其中的列表元素,并支持基于快速索引的数据存取,也可以进行快速的数据删除操作。 QList类对象表示为一组指向被存储元素的数组,元素个数小于1000的QList类对象能够实现在链表中间的快速插入和查找操作。 此外,由于QList类在链表两端都预先分配了内存,因此实现链表前后端的添加操作都很快(这两个成员函数为prepend ()和append() )。 常见15种构造函数: 1. 初始化 默认时为空链表,可以使用&l...
Qt树、列表和表格 The Item Views
hw5230的博客
02-20 871
Qt树、列表和表格 The Item Views
qt列表QList
qq_36246937的博客
05-11 678
#include "mainwindow.h" #include <QApplication> #include <QList> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); //MainWindow w; //w.show(); QList<QString>my_list; // 构建一个QStrin
qt基于QOpenGLWidget显示图片
09-08
总的来说,Qt结合QOpenGLWidget显示图片是一个很好的学习实例,可以帮助你掌握OpenGL的基本操作,同时理解Qt如何与底层图形库进行交互。无论你是Qt初学者还是有经验的开发者,这个项目都将提供宝贵的实践经验。
qt学习资源
12-22
这篇资源主要围绕“QT学习”展开,特别适合初学者和那些希望深入理解QT开发开发者。让我们详细探讨一下QT学习的重要知识点。 首先,QT库提供了一整套的图形用户界面(GUI)组件,包括按钮、文本框、菜单等,这些...
QT.zip_QT学习资料
09-24
这个"QT.zip"压缩包显然包含了QT学习的相关资料,对于初学者来说是宝贵的资源。 首先,让我们深入了解Qt框架的核心特性: 1. **跨平台性**:Qt支持多种操作系统,包括Windows、Linux、macOS、Android和iOS等,这...
40个Qt学习练习小案例
01-30
Qt学习练习小案例】是针对Qt框架设计的一系列编程实践项目,旨在帮助初学者深入理解和掌握Qt库的使用。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式系统的软件开发,主要使用C++语言。通过...
Qt 自定义控件多选下拉列表
11-08
Qt框架中,开发人员有时会遇到需要实现多选下拉列表的需求,这在标准的QComboBox控件中默认并不支持。...通过深入理解其内部实现,开发者也可以学习到如何自定义Qt控件以及如何处理复杂的用户交互需求。
QT使用QListWidget实现图片列表
热门推荐
sinat_30034481的博客
09-09 1万+
多张图片以缩略图的形式显示列表中 QListWidget *m_ImageList = new QListWidget; m_ImageList->setViewMode(QListWidget::IconMode);//显示模式 m_ImageList->setIconSize(QSize(100, 100));//设置图片大小 m_ImageList->setSpacing(10);//间距 m_ImageList->setResizeMode(QListV
Qt】 自定义列表控件
和过去说再见的博客
07-14 946
先实现单个item控件,之后根据所需个数new出来插入布局中。item过多时支持滑动操作,可以把item放入scrollArea中,如需实现滑动效果可以使用eventFilter,计算坐标配合scrollArea->verticalScrollBar()->setValue实现。
QT学习13:QListView展示列表数据
Significance的博客
02-06 1850
QListView展示列表数据需要使用Model,即QStringListModel。
QT学习十】QListView
从此不归路
01-12 3408
QListView 是一个用于显示列表数据的控件,它提供了灵活的视图模型以及对列表项的高度自定义的能力。1、QListView 是Qt中的一个视图类,用于展示模型中的数据。它基于QAbstractItemView,支持多种视图模式,包括列表视图(List View)、图标视图(Icon View)、详细信息视图(Detail View)等。2、QListView 类是Qt中模型/视图框架的一部分,通常与QStandardItemModel或从QAbstractItemModel派生的自定义模型一起使用。
使用Qt的QListWidget类实现列表的演示
TechO_O的博客
09-18 216
本文介绍了使用Qt的QListWidget类来创建和管理列表的基本用法。我们学习了如何创建列表控件,添加和删除列表项,设置列表项属性以及处理列表项选择事件使用Qt的QListWidget类实现列表的演示QListWidget是Qt框架中的一个重要类,用于显示列表数据,并提供了对列表项的操作和交互功能。本文将介绍如何使用QListWidget类来创建和管理列表,并展示一些常见的功能和用法。创建列表控件首先,我们需要在Qt项目中创建一个QListWidget控件。
QListWidget实现图片缩略图列表
m0_73832962的博客
05-16 1666
继承自QListWidget。每个QListWidgetItem可以设置QIcon图片和文本。import os# 定义缩略图列表部分,继承自QListWidget。每一个QListWidgetItem可以设置QIcon图片和文本# def__init__(self): 用于初始化类,只有一个self,指的是实例本身# super()用来调用父类(基类)的方法,__init__()是类的构造方法。
qt 文件列表_演练:自动化操作Qt中的列表
weixin_39884373的博客
12-07 1292
演练:操作 Qt 应用中的 QListViewQt 应用中的列表控件——QListView,这篇文章主要介绍了如何通过CukeTest全面自动化该控件。背景需要针对 Qt 的 QListView 组件开发列表窗口进行操作和自动化测试。QListView 通常用于含有大量可选项的窗口,比如文件列表、清单等等。以下我们对 QListView 控件简称 List。目标为了实现对 List 组...
"Qt学习笔记:从Hello Qt开始的实用资源和知识点总结
"Qt学习笔记"是作者嘒彼小星在学习Qt过程中总结的一系列知识点的笔记,通过这些笔记,作者分享了从Hello Qt程序开始的学习经验。在这个Qt版本的Hello Qt程序中,作者介绍了Qt资源,提供了学习中遇到的各种知识点的...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ubuntu系统 安装 图形化界面【亲测有效】 38606
  • SQL文件导入数据库【保姆级教程】 38105
  • 【OpenCV】 人脸识别 30960
  • ubuntu 安装 QT 【亲测有效】 29023
  • 【C++】 STL详解 27238

分类专栏

  • Qt学习之路 24篇
  • OpenCV 18篇
  • STM32开发 16篇
  • Linux网络编程应用 28篇
  • Linux内核编程应用 44篇
  • 数据结构与算法 16篇
  • Linux 12篇
  • SQLite数据库 12篇
  • FFmpeg音视频开发 11篇
  • 面试题集锦 8篇
  • 深度学习 2篇
  • 机器学习 14篇
  • PyQt5_study 1篇
  • python编程 18篇
  • C++程序设计 23篇
  • C语言程序设计 40篇

最新评论

  • ubuntu系统 安装 图形化界面【亲测有效】

    mysterymans: 为什么我service gdm3后系统一直在闪烁

  • 【STM32】 4脚按键

    K1271: 没有尺寸的吗?

  • ubuntu 安装 QT 【亲测有效】

    红颜起司: 网页里面的东西根本点不进去,到底谁成功了

  • 【C语言】 链表 超详细解析

    striker211: 一些变量定义就错了,语法都通过不了,老哥,你的代码到底编译通过了没有啊?

  • 基于CNN卷积神经网络 猫狗图像识别

    2401_85469099: 为什么我运行的时候老是提示缺少包

大家在看

  • Golang | Leetcode Golang题解之第274题H指数
  • Scrapy零基础小白入门 1
  • 【效率提升】正则表达式和通配符 883
  • 变量及计算机中的存储规则 736
  • 向量数据库Milvus 88

最新文章

  • python词云图词频统计
  • pip3 install mysqlclient 安装报错解决方法
  • python爬虫爬取网页上的天气数据
2022年283篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenruhan_QAQ_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码松岗网站搜索优化爱联SEO按天扣费坪山SEO按天计费丹竹头seo网站推广宝安网络营销大鹏关键词按天扣费荷坳阿里店铺托管宝安网站推广系统龙华SEO按天收费南澳百度竞价大浪百度seo惠州关键词排名包年推广大芬外贸网站设计双龙网站搜索优化西乡关键词排名包年推广沙井百度网站优化龙华网络营销石岩设计网站东莞seo网站优化双龙外贸网站制作龙华企业网站设计广州网站优化排名民治SEO按效果付费坂田网站优化罗湖外贸网站设计大运关键词按天计费南澳品牌网站设计南澳外贸网站设计光明关键词按天收费罗湖企业网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化