Qt QLabel标签控件

news2024/11/17 23:24:49

文章目录

  • 1 属性和方法
    • 1.1 文本
    • 1.2 对齐方式
    • 1.3 换行
    • 1.4 图像
  • 2. 实例
    • 2.1 布局
    • 2.2 为标签添加背景色
    • 2.3 为标签添加图片
    • 2.4 代码实现

QLabeI是Qt中的标签类,通常用于显示提示性的文本,也可以显示图像

1 属性和方法

QLabel有很多属性,完整的可查看帮助文档,这里列出常用的属性和方法。

1.1 文本

可以获取和设置按钮上显示的文本

// 获取和设置显示的文本
QString text() const;
void setText(const QString &text);

该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.2 对齐方式

用于设置标签中的内容在水平和垂直两个方向上的对齐方式,比如左对齐、右对齐、上对齐、下对齐、水平居中、垂直居中等。

// 获取和设置文本的对齐方式
Qt::Alignment alignment() const;
void setAlignment(Qt::Alignment);

其中,Qt:Alignment是一个宏,常用取值如下 :

  • Qt::AlignLeft (0x0001) 水平方向-左对齐
  • Qt:AlignRight(0x0002)水平方向-右对齐
  • Qt:AlignHCenter(0x0004)水平方向-居中对齐
  • Qt::AlignTop(0x0020)垂直方向-上对齐
  • Qt::AlignBottom(0x0040)垂直方向-下对齐
  • Qt:AlignVCenter(0x0080)垂直方向-居中对齐
  • Qt:AlignCenterAlignVCenterAlignHCenter)垂直方向和水平方向-居中对齐

上面的每一个宏,都代表16进制中的一位,可以进行或(1)操作,来同时设置多个对齐方式。

该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.3 换行

使能换行时,那么标签在缩放时,如果文字可以显示在下一行,就会自动换行

// 获取和设置文本是否允许换行
// 换行时:在 word-breaks处,不会讲一个完整的单词显示在两行
bool wordWrap() const; // 判断是否允许换行
void setWordWrap(bool on)	// 设置是否允许换行

该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

1.4 图像

可以获取和设置标签上显示的图像

// 获取和设置显示的图像
const QPixmap *pixmap() const;
void setPixmap(const QPixmap &pixmap);

该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改

2. 实例

该实例演示,如何设置和获取标签文本,文本对齐方式,文本换行,以及显示图片

在这里插入图片描述

2.1 布局

在Ul设计师界面,拖拽对应的控件,修改显示的文字、控件的name,然后完成布局

在这里插入图片描述

2.2 为标签添加背景色

在标签右侧的属性窗口中,点击styleSheet属性右侧的"…",良即可打开如下窗口,可以设置标签的各种样式:

在这里插入图片描述

2.3 为标签添加图片

首先添加资源文件,并添加两个图标文件

然后在标签右侧的属性窗口中,点击pixmap属性右侧的小三角,选择“选择资源”,即可打开如下窗口,选择图片资源:

在这里插入图片描述

2.4 代码实现

// 在Widget.cpp 文件中

void Widget::on_btnGetText_clicked() {
    QMessageBox::information(this, "标签演示", ui->lbTime->text());
}

void Widget::on_btnSetText_clicked() {
    ui->lbTime->setText(QTime::currentTime().toString());
}

void Widget::on_btnAlignLeft_clicked() {
    ui->lbAlign->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
}

void Widget::on_btnAlignCenter_clicked() {
    ui->lbAlign->setAlignment(Qt::AlignCenter);
}

void Widget::on_btnAlignRight_clicked() {
    ui->lbAlign->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
}

void Widget::on_btnDisableWrap_clicked() {
    // 禁止换行
    ui->lbWrap->setWordWrap(false);
}

void Widget::on_btnEnableWrap_clicked() {
    // 允许换行
    ui->lbWrap->setWordWrap(true);
}

int index = 0;
void Widget::on_btnToggleImage_clicked() {
    QPixmap px;
    if (index == 0) {
        px.load(":/res/moosebear.ico");
        index++;
    } else {
        px.load(":/res/pig.ico");
        index = 0;
    }

    // 把图片显示到标签上
    ui->lbImage->setPixmap(px);

    // 不要缩放,保持图片的宽高比,不然会失真
    ui->lbImage->setScaledContents(false);

    // 居中显示图片
    ui->lbImage->setAlignment(Qt::AlignCenter);
}

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

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

相关文章

Wargames与bash知识12

Wargames与bash知识12 Bandit20 关卡提示: 主目录中有一个setuid二进制文件,它执行以下操作:它在您指定为命令行参数的端口上连接到localhost。然后,它从连接中读取一行文本,并将其与前一级别的密码(band…

IntelliJ IDEA 如何编译 Maven 工程项目

在当今的Java开发领域,Maven已经成为项目构建和依赖管理的标准工具。IntelliJ IDEA作为一款集成度高的Java开发环境,提供了许多强大的功能来简化和优化Maven项目的构建流程。本文将深入介绍如何使用IntelliJ IDEA编译Maven工程的详细步骤以及一些高级技巧…

vagrant 用户名密码登录

正常登录后 sudo -i 切换到root权限 vim /etc/ssh/vim sshd_config 将PasswordAuthentication no设置 为yes 重启sshd.service服务 systemctl restart sshd.service

整理的Binder、DMS、Handler、PMS、WMS等流程图

AMS: Binder: Handler: PMS: starActivity: WMS: 系统启动:

【深度学习每日小知识】Data Augmentation 数据增强

数据增强是通过对原始数据进行各种转换和修改来人工生成附加数据的过程,旨在增加机器学习模型中训练数据的大小和多样性。这对于计算机视觉领域尤为重要,因为图像经常被用作输入数据。 计算机视觉中的数据增强 数据增强的主要目标是解决过拟合问题&…

mongodb基本命令操作

1.创建数据库 语法 use 数据库名字例如:创建hero数据库 use hero查询当前数据库 db如果想查询所有的数据库 show dbs发现并没有刚刚创建的数据库,如果要显示创建的数据库,需要向表中插入一条记录 db.hero.insert({name: "zs",age: 20,country: "china&quo…

具有低待机电流,抗电压波动等特性的抗干扰液位检测/2点水位检测IC-VK36W2D SOP8

产品型号:VK36W2D 产品品牌:永嘉微电/VINKA 封装形式:SOP8 原厂,工程服务,技术支持! 概述 VK36W2D具有2个触摸检测通道,可用来检测外部2个点的水从无到有和水从有到无的动作。该芯片具有较高…

给充电桩嵌入一个强大的“心脏”——工控机

到底什么样的工控机才算是真正的好用? 小编还特地去问了技术老王 他表示:稳定第一,性能第二! 不稳定,性能再好也白搭! 什么是工控机呢? 工控机是一种专门为工业现场而设计的计算机设备&…

高功率电源PCB设计中变压器底层走线的关键要点

高功率电源的设计中,变压器起到了电能的传递与转换的重要作用。变压器下方的走线设计不仅涉及到电路的功率传输效率,还与电磁兼容性(EMC)、热管理以及电路的可靠性密切相关。 1. 走线布局 在进行变压器下方走线设计时&#xff0c…

视频剪辑方法:智能转码从视频到图片序列,高效转换攻略

在视频编辑和后期处理中,经常要将视频转换为图片序列,以便进行单独编辑或应用。下面一起来看云炫AI智剪如何批量智能转码的方法,高效地将视频转换为图片序列。 视频转为序列图片缩略图效果 视频转为序列图片的效果图,画面清晰&a…

JHipster - Spring Boot 的快速开发利器

产品介绍: JHipster是一个开源的、全面的应用程序生成器,它能够帮助开发者快速生成Spring Boot Angular/React/Vue.js的完整应用程序。它不仅提供了一个简单的界面来定义应用程序的配置,还提供了一组强大的代码生成器,可以在数分…

Lumerical Monitors------ Global properties

Lumerical Monitors------ Global properties Global properties 全局属性 Global properties 全局属性 在 Lumerical 中,这里以 FDTD 工程文件举例,所有的 monitors 都可以通过上方选项卡中的 monitor 标签页添加。 注意上面有一个 Global properties…

Unity中URP下使用屏幕坐标采样深度图

文章目录 前言一、Unity使用了ComputeScreenPos函数得到屏幕坐标1、 我们来看一下这个函数干了什么2、我们看一下该函数实现该结果的意义 二、在Shader中使用(法一)1、在Varying结构体中2、在顶点着色器中3、在片元着色器中 三、在Shader中使用&#xff…

JUC Lock 计数锁

文章目录 Semaphore继承关系图构造函数常用 API示例总结 CountDownLatch继承关系图构造函数常用 API示例 CyclicBarrier原理构造方法常用 API示例 Semaphore Semaphore字面意思是信号量。主要用于控制有限的资源的访问数量。比如:公共厕所有5个蹲位,但有…

Android readelf 工具查找函数符号

ELF(Executable and Linkable Format)是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式,用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件,…

【JAVA GUI+MYSQL]社团信息管理系统

本社团信息管理系统主要实现登录注册、管理员信息管理、社团用户信息管理、用户申请信息管理功能模块。 目录 1.系统主要功能介绍 2. 数据库概念模型设计 3.具体功能模块的实现 3.1模型类 3.1.1Student.java 3.1.2User .j…

HarmonyOS应用开发学习笔记 UIAbility组件与UI的数据同步 EventHub、globalThis

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 5、HarmonyOS 应用开发…

Linux基础知识点(九-POSIX信号量)

目录 一、基本概念 二、有名信号量 三、无名信号量 一、基本概念 信号量(Semaphore)是一种实现进程/线程间通信的机制,可以实现进程/线程之间同步或临界资源的互斥访问, 常用于协助一组相互竞争的进程/线程来访问临界资源。在多…

洛谷 P1217 [USACO1.5] 回文质数 Prime Palindromes 刷题笔记

P1217 [USACO1.5] 回文质数 Prime Palindromes - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 直接枚举 减枝优化判断 优化1 只有偶数才会是质数 优化2 回文数的判断次数要优于检查素数 先判断是否为回文数再检查是否为质数 if( hw(i)&&isprime(i)) 这里…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt) 一、对于txt,图片类的二、对于word,xlsx,ppt类的1.a标签可以实现下载2. window.open() 一、对于txt,图片类…