8、QT——QLabel使用小记2

devtools/2024/9/23 22:34:40/

前言:记录开发过程中QLabel的使用,持续更新ing...

开发平台:Win10 64位

开发环境:Qt Creator 13.0.0 

构建环境:Qt 5.15.2 +MSVC2019 64位

一、基本属性

技巧:对于Qlabel这类控件的属性有一些共同的特点,那就是set+xxx是设置这个控件的对应的属性,如果去掉set,那就是获取这个控件的对应属性。

基本功能:提供文本或图像显示,外观可以通过多种方式进行配置,QLabel 可以包含以下任何内容类型:

内容设置
纯文本通过setText()方法传递一个QString
富文本

通过setText()方法传递一个富文本QString

像素图通过 setPixmap()设置 一个 QPixmap ,用于显示图像
电影通过setMovie来设置一个QMovie类型的多媒体,用于显示动画特效
数字通过 setNum()属性显示int 或 double类型数据
啥也不显示

#include <QApplication>
#include <QLabel>
#include <QPixmap>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;label.setText("Hello, World!");  // 设置文本QPixmap pixmap("image.png");     // 加载图像label.setPixmap(pixmap);         // 设置图像label.setAlignment(Qt::AlignCenter);  // 设置对齐方式label.show();return app.exec();
}

二、功能测试

2.1 移动QLabel位置

使用QLabel的move()方法和x(),y()属性。

通过定时器去改变label的y坐标轴,使其上下移动。

QTimer *timer=new QTimer;timer->start(10);connect(timer,&QTimer::timeout,[=]{//ui->label->move(ui->label->x(),yValue++);if(!direction){ui->label->move(ui->label->x(),yValue++);if(yValue==this->y())direction=true;}else {ui->label->move(ui->label->x(),yValue--);if(yValue==0)direction=false;}});

2.2 设置全部QLabel样式

初始化时想要去掉QLabel的央视,在特定条件下再对QLabel进行设置

QList<QLabel *> LBlist = ui->centralwidget->findChildren<QLabel*>();for(auto lb :LBlist){lb->setStyleSheet("");}

 通过findChildren的泛型方法获取全部的QLabel,然后循环对其样式进行设置。

有时候我们想在初始化的时候对个别的QLabel不进行设置,可以在for循环中去排除

QList<QLabel *> LBlist = ui->centralwidget->findChildren<QLabel*>();for(auto lb :LBlist){ if(lb->objectName()!="label"){lb->setStyleSheet("");}}

 先判断QLabel的objectName()属性,就是对象名字,通过名字排除。

三、参考文献 

3.1 Qt——QLabel控件常见的属性、方法和信号-CSDN博客

3.2(三)Qlabel显示图片_qlabel加载图片-CSDN博客


http://www.ppmy.cn/devtools/39634.html

相关文章

MySQL数据库表的创建DDL语句(21-25)

21.用户反馈表 CREATE TABLE 7_feedback (feedbackId int(11) NOT NULL AUTO_INCREMENT COMMENT ID,feedbackType int(4) NOT NULL DEFAULT 0 COMMENT 反馈类型&#xff0c;内容来自源系统基础数据表,userId int(11) DEFAULT NULL COMMENT 反馈者ID,creatTime datetime NOT NU…

Android APP读写外置SD卡无权限 java.io.IOException: Permission denied

在物联网应用里&#xff0c;app需要对挂载SD卡读写文件&#xff0c;从 Android 4.4&#xff08;KitKat&#xff09;版本开始&#xff0c;Google 引入了一项名为 "Storage Access Framework" 的新功能&#xff0c;该功能限制了应用对外部存储的直接读写权限,要不然就是…

Java中ArrayList、LinkedList和Vector的底层原理

ArrayList Java中的ArrayList底层原理主要涉及其数据结构、扩容机制、线程安全性以及元素存储和访问方式。以下是对ArrayList底层原理的总结&#xff1a; 数据结构 ArrayList的底层数据结构是一个动态数组。这意味着ArrayList可以根据需要自动增长其容量&#xff0c;从而存储…

Linux下安装mysql8.0(以rpm包安装)

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; Linux下安装mysql8.0&#xff08;以rpm包安装&#xff09;https://myweb.myskillstree.cn/125.html 目录 1、查操作系统信息 2、下载mysql 8.0.34的rpm包 …

纯血鸿蒙APP实战开发——自定义视图实现Tab效果

介绍 本示例介绍使用Text、List等组件&#xff0c;添加点击事件onclick,动画&#xff0c;animationTo实现自定义Tab效果。 效果预览图 使用说明 点击页签进行切换&#xff0c;选中态页签字体放大加粗&#xff0c;颜色由灰变黑&#xff0c;起到强调作用&#xff0c;同时&…

高速、简单、安全的以太彩光,锐捷网络发布极简以太全光 3.X 方案

从 2021 年 3 月正式推出到现在&#xff0c;锐捷网络极简以太全光方案已经走进第四个年头。IT 仍在不断向前发展&#xff0c;数字化进程深入&#xff0c;数字化业务增多&#xff0c;更广泛的终端设备接入企业级园区网络&#xff0c;对园区网络提出了更高的要求&#xff0c;例如…

【C++】n个一位数能够组成的最大数

文章目录 题目题目描述输入输出样例输入样例输出 思路AC代码 题目 题目描述 请问n个一位数能够组成的最大的整数是多少。 比如&#xff0c; n 3 n3 n3&#xff0c;3个整数为 1 、 3 、 9 1、3、9 1、3、9&#xff0c;那么组成的最大整数是 931 931 931。 比如&#xff0c; n…

leetcode——链表的中间节点

876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09; 链表的中间节点是一个简单的链表OJ。我们要返回中间节点有两种情况&#xff1a;节点数为奇数和节点数是偶数。如果是奇数则直接返回中间节点&#xff0c;如果是偶数则返回第二个中间节点。 这道题的解题思路是&a…