Qt 学习第十天:小项目:QListWidget的使用

news2024/11/14 18:01:56

一、页面布局

二、命名按钮

双击按钮可以修改显示中的文字(例如:改成“全选”),objectName是要改成程序员所熟悉的名字(英文,符合代码规范)方便修改和书写代码,一看就能看懂的

三、icon(图标)的导入

右击项目文件夹 >> 选择一个模板 >> Qt >> Qt Resource File >> 文件名命名为res或者resource

创建后出现这个界面: 把prefix改成/

资源文件将被映射到根目录。这意味着在程序中使用资源(icon)时,不需要再添加前缀路径,可以直接使用资源文件的名称来访问


icon-32图标

右键就可以复制资源路径

四、往QListWidget添加课程

    //添加科目
    QStringList list = {"语文", "数学", "英语", "物理", "化学", "生物", "历史", "地理" };
    for(int i=0; i<list.size(); i++)
    {
        //QListWidgeItem就是列表项,我们可以对其添加文本
        QListWidgetItem *item = new QListWidgetItem(); //列表项
        item->setText(list[i]);
        //添加图标
        QIcon icon1;
        icon1.addFile("://icon-32.png");
        item->setIcon(icon1);
        //添加复选框
        item->setCheckState(Qt::Unchecked);
        //设置字体大小
        QFont font;
        font.setPointSize(30);
        item->setFont(font);
        ui->listWidget->addItem(item); //列表项加入listWidget中
        ui->listWidget->setIconSize(QSize(30,30)); //设置图标大小
        ui->listWidget->setSpacing(10); //对四周都会产生留白效果
    }

五、设置图标模式

//设置为图标模式
void MainWindow::on_IconMode_btn_clicked()
{
    ui->listWidget->setViewMode(QListView::IconMode); //设置为图标模式
    ui->listWidget->setSpacing(10); //对四周都会产生留白效果
    ui->listWidget->setResizeMode(QListView::Adjust); //自适应窗口大小
}

六、设置列表模式

//设置为列表模式
void MainWindow::on_TableMode_btn_clicked()
{
    ui->listWidget->setViewMode(QListView::ListMode); //设置为列表模式
}

【运行结果】

七、实现添加课程

会自动生成槽函数

//添加课程
void MainWindow::on_Add_btn_clicked()
{
    //如果文本不为空
    if(ui->lineEdit->text().isEmpty() == false)
    {
        QListWidgetItem *item = new QListWidgetItem(); //列表项
        item->setText(ui->lineEdit->text().trimmed());
        //添加图标
        QIcon icon1;
        icon1.addFile("://icon-32.png");
        item->setIcon(icon1);
        //添加复选框
        item->setCheckState(Qt::Unchecked); //设置为未选中状态
        //设置字体大小
        QFont font;
        font.setPointSize(30);
        item->setFont(font);
        ui->listWidget->addItem(item); //列表项加入listWidget中
        ui->listWidget->setIconSize(QSize(30,30)); //设置图标大小
        ui->lineEdit->clear(); //清除输入框中的文本
    }
}

八、实现删除课程

跟上面一样,代码不同

//删除课程
void MainWindow::on_Delete_btn_clicked()
{
    int count = ui->listWidget->count(); //获取列表项个数
    for(int i=count-1; i>=0; i--) //这个需要从后往前删除,否则会越界崩溃
    {
        if(ui->listWidget->item(i)->checkState() == Qt::Checked)//如果被选中
        {
            auto item = ui->listWidget->takeItem(i); //删除会返回这个值的指针,但是内存没有真正的删除
            delete item;
        }
    }
}

九、实现全选课程

跟上面一样,代码不同

//全选课程
void MainWindow::on_Allchoose_btn_clicked()
{
    int count = ui->listWidget->count(); //获取列表项个数
    for(int i=count-1; i>=0; i--)
    {
        ui->listWidget->item(i)->setCheckState(Qt::Checked); //设置为选中状态
    }
}

【运行结果】

参考文章:【qt】QListWidget 组件-CSDN博客

补充知识点:

vocabulary,启动!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2144465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!

海外跨境电商各大主要平台正不断力推半托管模式&#xff0c;不断对商家开出众多吸引和扶持政策。全托管是指电商平台全面负责店铺的运营&#xff0c;包括仓储、配送、售后等&#xff0c;而商家主要负责提供货品。半托管模式则基本由商家自主经营&#xff0c;平台只负责仓配物流…

Xilinx系FPGA学习笔记(九)DDR3学习

系列文章目录 文章目录 系列文章目录前言DDR介绍DDR的IP核学习接口信号解析读写流程分析AXI 前言 这里暂时先只介绍一下IP核配置生成和一些接口信号的含义&#xff0c;后续还需要补很多知识点和实际测试应用 DDR介绍 DDR3 已不是当今主流的 DDR 存储器&#xff0c;市场上的 …

双天线+ins

使用1&#xff1a; 1、初始v-b 双天线与车固连且平行&#xff0c;双天线的欧拉角得到Cvn, Cnb组合得到&#xff0c;车体与INS之间不平行存在Cvb, 用Cnb*Cvn 得到Cvb initmisali(opt,solbuf,posebuf,ts,te,Cvb)) { 存疑的地方&#xff1a;att 应该清空后再用 否则变成了(A…

TMStarget学习——T1 Segmentation数据处理及解bug

最新学习季公俊老师的神器 TMStarget 的第一个模块基于结构像的靶区计算T1 segmentation。下面上步骤&#xff1a; (1)在github 上下载 TMStarget https://github.com/jigongjun/Neuroimaging-and-Neuromodulation (2)按照要求下载依赖工具软件AFQ、vistasoft、SPM12 &#…

GBase8c主备版500升级步骤

# 升级方式区别 就地升级&#xff1a;升级期间需停止业务进行&#xff0c;一次性升级所有节点。 灰度升级&#xff1a;灰度升级支持全业务操作&#xff0c;也是一次性升级所有节点。 指定节点升级&#xff1a;基于灰度升级&#xff0c;支持升级指定节点&#xff0c;支持部分…

【练习11】大数乘法

链接&#xff1a;大数乘法__牛客网 (nowcoder.com) 算法分析&#xff1a; 1.为什么以字符串的形式输入&#xff1f; 因为读入的数字太大&#xff0c;而字符串没有固定的大小限制。 2.可以采用模拟列竖式做乘法的方式&#xff0c;先无进位相乘再相加&#xff0c;最后处理进位。 …

Java智慧云智能教育平台

技术架构&#xff1a; SpringBoot Mybatis Shiro mysql redis 功能描述&#xff1a; 支持多种题型&#xff1a;选择题、多选题、判断题、填空题、综合题以及数学公式。支持在线考试&#xff0c;教师在线批改试卷。 功能模块&#xff1a;系统首页、教育教学模块、考试管…

第十一章 【后端】商品分类管理微服务(11.3)——商品管理模块 yumi-etms-goods

11.3 商品管理模块 yumi-etms-goods 新建 yumi-etms-goods 模块 添加依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns&#

干货满满!第二期流程挖掘实践训练营圆满落幕~

2023年7月14日&#xff0c;望繁信科技第二期流程挖掘实践训练营在上海圆满结束&#xff01;此次训练营以实战为导向&#xff0c;为大家提供了一个深入学习流程挖掘知识和技巧的专业交流平台&#xff0c;得到了广大学员们的一致好评。 产品大咖面对面 作为本次训练营的亮点环节…

一次渲染十万条数据:前端技术优化(上)

今天看了一篇文章&#xff0c;写的是一次性渲染十万条数据的方法&#xff0c;本文内容是对这篇文章的学习总结&#xff0c;以及知识点补充。 在现代Web应用中&#xff0c;前端经常需要处理大量的数据展示&#xff0c;例如用户评论、商品列表等。直接渲染大量数据会导致浏览器性…

PMP出成绩非常慢?PDU如何获取?

1、PMP项目管理认证考试后6-8周才公布成绩 2、非一次性发布&#xff0c;从第一个人成绩公布到最后一个公布结束持续一周左右时间 3、PMP每年会考4次&#xff08;3月、5月、8月、11月&#xff09; 4、组织方为美国 5、报名费3900&#xff0c;补考费2500 PMP考试成绩查询方式…

新任项目经理,如何快速接手项目

新任项目经理踏上管理岗位&#xff0c;面临着前所未有的挑战与机遇。如何快速适应角色&#xff0c;有效管理团队&#xff0c;确保项目顺利推进&#xff0c;是每一位新任项目经理必须面对的。 一、深入了解项目与团队 1、项目定位与规划 新任项目经理应对项目进行全面的调研与…

7款实用电脑办公软件和网站,工作效率飞跃提升

4款软件3个网站&#xff0c;电脑里一定要有这7款实用办公工具&#xff0c;提升效率杠杠滴&#xff0c;用过以后就离不开了&#xff01; 1、Free Download Manager 一个免费的下载神器&#xff0c;不仅界面简洁&#xff0c;还没广告。能设置下载计划&#xff0c;多线程下载&am…

让3000年都无人能识的伪二重直线段一下子浮出水面推翻百年集论

黄小宁 公元前1100年中国人商高同周公的一段对话谈到了勾股定理说明人类认识几何学的直线段起码已有3000多年。 直线可由无穷多直线段连接而成。直线段可均匀收缩变短。长为2的长条形弹簧W&#xff08;可二等分&#xff09;被压缩变短成长为1的弹簧b&#xff0c;b不是W的一半。…

yolov8区域入侵检测警报系统-pyside6可视化界面

yolov8区域入侵检测警报系统&#xff0c;是微智启软件工作室基于yolov8目标追踪和pyside6开发&#xff0c;在window的pycharm或者vscode里运行&#xff0c;可以应用于多个领域&#xff0c;检测统计物体个数以及入侵语音警报。 功能介绍 可以应用于 江河流域危险区域禁止游泳警…

C#图像爬虫实战:从Walmart网站下载图片

无论是电子商务网站、社交媒体平台还是新闻门户&#xff0c;图像都扮演着至关重要的角色。对于开发者来说&#xff0c;能够自动化地从这些网站下载图片是一项非常有用的技能。本文将介绍如何使用C#语言和CsQuery库来创建一个图像爬虫&#xff0c;专门用于从Walmart网站下载图片…

空洞骑士 Hollow Knight 攻略

文章目录 Part.I IntroductionPart.II 攻略Chap.I 地图Chap.II 护符Chap.III BOSSChap.IV 魔法 Reference Part.I Introduction 《空洞骑士》是独立团队 Team Cherry 开发的一款 2D 类银河恶魔城动作冒险游戏。本文记录笔者玩此游戏所积累的一些经验。 「在《空洞骑士》中打造…

【C++】多态的认识和理解

个人主页 文章目录 ⭐一、多态的概念&#x1f384;二、多态的定义及实现1.多态的构成2.实现多态的条件3.虚函数的概念4.虚函数的重写和覆盖5.析构函数的重写6.协变7.override和 final关键字8.重载、重写/覆盖、隐藏这三者的区别 &#x1f3e0;三、纯虚函数和抽象类的关系&#…

智能边缘网关深入剖析-天拓四方

随着物联网、大数据和云计算等技术的飞速发展&#xff0c;智能边缘网关作为一种新兴的技术与应用逐渐走入人们的视野。本文将从全新视角对智能边缘网关进行深入剖析&#xff0c;阐述其定义、功能、重要性及其在工业领域的应用。 一、定义 智能边缘网关是集成了数据采集、处理…

低代码开发平台系统架构概述

概述 织信低代码开发平台&#xff08;产品全称&#xff1a;织信Informat&#xff09;是一款集成了应用设计、运行与管理的综合性平台。它提供了丰富的功能模块&#xff0c;帮助用户快速构建、部署和维护应用程序。织信低代码平台通过集成丰富的功能模块&#xff0c;为用户提供…