QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片

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

对齐方式

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

// 获取和设置文本的对齐方式
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::AlignCenter(AlignVCenter | AlignHCenter) 垂直方向和水平方向-居中对齐

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

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

换行

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

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

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

其他的之前的学习都学习过就不罗列了,具体查文档即可

例子

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

#include "QLabelTest.h"
#include<QTime>
#include<QMessagebox>
#include<QPixmap>

QLabelTest::QLabelTest(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::QLabelTestClass())
{
    ui->setupUi(this);

    // 获取文本和设置文本
    ui->labelGetSetText->setFont(QFont("黑体", 16));
    ui->labelGetSetText->setText("获取文本和设置文本初始化完成");
    connect(ui->pbtGetText, &QPushButton::clicked, this, [this]() {
        auto s = ui->labelGetSetText->text();
        QMessageBox::information(this, "标签演示", s);
        });
    connect(ui->pbtSetText, &QPushButton::clicked, this, [this]() {
        ui->labelGetSetText->setText(QString(QTime::currentTime().toString()));
        });

    // 文本对齐方式
    ui->labelAlignText->setFont(QFont("黑体", 16));
    ui->labelAlignText->setText("为中华民族伟大复兴而努力奋斗");
    connect(ui->pbtLeftAlign, &QPushButton::clicked, this, [this]() {
        ui->labelAlignText->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
        });
    connect(ui->pbtCenterAlign, &QPushButton::clicked, this, [this]() {
        ui->labelAlignText->setAlignment(Qt::AlignCenter);
        });
    connect(ui->pbtRightAlign, &QPushButton::clicked, this, [this]() {
        ui->labelAlignText->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
        });

    // 文本换行
    ui->lableWrapText->setFont(QFont("黑体", 16));
    ui->lableWrapText->setText("为人民幸福而奋斗,为社会主义事业而努力奋斗,为中华民族伟大复兴而奋斗");
    connect(ui->pbtEnbleWrap, &QPushButton::clicked, this, [this]() {
        ui->lableWrapText->setWordWrap(true);
        });
    connect(ui->pbtDisableWrap, &QPushButton::clicked, this, [this]() {
        ui->lableWrapText->setWordWrap(false);
        });
    
    // 显示图片
    int index = 0;
    connect(ui->pbtShowImg, &QPushButton::clicked, this, [&]() {
        QPixmap qpm;
        if (index == 0)
        {
            qpm.load(":/Icon/logo_dingding_circle.svg");
            index++;
        }
        else
        {
            index = 0;
            qpm.load(":/Icon/logo_wechat.svg");
        }
        
        ui->labelShowImg->setPixmap(qpm);
        ui->labelShowImg->setScaledContents(false);
        ui->labelShowImg->setAlignment(Qt::AlignCenter);


        });
}

QLabelTest::~QLabelTest()
{
    delete ui;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二代GPT-SoVITS V2:让声音克隆变得简单

随着人工智能技术的飞速发展&#xff0c;AI声音克隆已经成为一种趋势&#xff0c;广泛应用于各个领域。为了满足更多用户的需求&#xff0c;第二代GPT-SoVITS V2应运而生&#xff0c;它由RVC变声器创始人“花儿不哭”与AI音色转换技术Sovits开发者Rcell联合开发&#xff0c;是一…

有关 C#多表查询学习

导言 在后端多表查询这一块还是不太会&#xff0c;主要是在左连接和innerjoin这块&#xff0c;上课混的时间总是要还回来的...主要是举后端的几个案例来相应学习查询的知识。所用到的例子是自己搞的C#后端&#xff0c;数据库用的是若依的表&#xff0c;有些有些微改变。 多表查…

为什么SSH协议是安全的?

SSH的传输层协议&#xff08;Transport Layer Protocol&#xff09;和用户鉴权协议&#xff08;Authentication Protocol&#xff09;确保数据的传输安全&#xff0c;这里只介绍传输层协议&#xff0c;是SSH协议的基础。 本文针对SSH2协议。 1、客户端连接服务器 服务器默认…

相似扇形问题

甘肃临夏砖雕是一种历史悠久的古建筑装饰艺术&#xff0c;是第一批国家级非物质文化遗产,如图1是一块扇面形的临夏砖雕作品&#xff0c;它的部分设计图如图2&#xff0c;其中扇形OBC和扇形OAD有相同的圆心O&#xff0c;且圆心角O100度&#xff0c;若OA120cm, OB60cm &#xff0…

9.22前缀和

当我们计算n个数的和的时候&#xff0c;往往会采用循环操作&#xff0c;但是当我们要多次进行询问n个数之和时&#xff0c;如果采用多次循环&#xff0c;时间复杂度会升高&#xff0c;所以我们采用前缀和来解决多次询问时的求和 1.一维前缀和 提公因式&#xff0c;用分配律&am…

2024 kali系统2024版本,可视化界面汉化教程(需要命令行更改),英文版切换为中文版,基于Debian创建的kali虚拟机

我的界面如下所示 1. 安装 locales sudo apt install locales 2. 生成中文语言环境 sudo locale-gen zh_CN.UTF-8 如果你希望安装繁体中文&#xff0c;可以加入&#xff1a; sudo locale-gen zh_TW.UTF-8 3. 修改 /etc/default/locale 文件 确保有以下内容 LANGzh_CN.UT…

【优选算法】——双指针(下篇)!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~ &#x1f525;系列专栏&#xff1a;C刷题算法总结 &#x1f516;克心守己&#xff0c;律己则安 目录 1、有效三角形的个数 2、查找总价值为目标值的两个商品 3、三数之和 4、四数之和 5、完结散花 1、有…

react18中实现简易增删改查useReducer搭配useContext的高级用法

useReducer和useContext前面有单独介绍过&#xff0c;上手不难&#xff0c;现在我们把这两个api结合起来使用&#xff0c;该怎么用&#xff1f;还是结合之前的简易增删改查的demo&#xff0c;熟悉vue的应该可以看出&#xff0c;useReducer类似于vuex&#xff0c;useContext类似…

智慧供排水管网在线监测为城市安全保驾护航

一、方案背景 随着城市化进程的不断推进&#xff0c;城市供排水管网作为城市基础设施的关键组成部分&#xff0c;其安全稳定的运行对于确保城市居民的日常生活、工业生产活动以及整个生态环境的健康具有至关重要的作用。近年来&#xff0c;由于各种原因&#xff0c;城市供排水管…

Springboot整合knife4j生成文档

前言 在开发过程中&#xff0c;接口文档是很重要的内容&#xff0c;用于前端对接口的联调&#xff0c;也用于给其他方使用。但是手写相对比较麻烦。 当然也有swagger之类的&#xff0c;但是界面没有那么友好。 官网&#xff1a; 整合步骤 整合依赖 需要根据版本进行&…

深入了解Spring重试组件spring-retry

在我们的项目中&#xff0c;为了提高程序的健壮性&#xff0c;很多时候都需要有重试机制进行兜底&#xff0c;最多就场景就比如调用远程的服务&#xff0c;调用中间件服务等&#xff0c;因为网络是不稳定的&#xff0c;所以在进行远程调用的时候偶尔会产生超时的异常&#xff0…

python之socket网络编程

华子目录 引言什么是socketsocket套接字类型TCP和UDP socket服务端核心组件1.创建socket对象2.绑定地址和端口3.监听连接4.接受连接5.接受client端消息client_sock.revc(1024)6.发送响应给client端6.1client_sock.send()6.2client_sock.sendall() 7.关闭client端连接8.关闭serv…

flutter 使用三方/自家字体

将字体放入assets/fonts下 在pubspec.yaml文件中flutter下添加如下代码&#xff1a; flutter:fonts:- family: MyCustomFontfonts:- asset: assets/fonts/MyCustomFont.ttf 在flutter Text widget中使用字体 import package:flutter/material.dart;void main() > runApp(…

PyQt 入门教程(3)基础知识 | 3.2、加载资源文件

文章目录 一、加载资源文件1、PyQt5加载资源文件2、PyQt6加载资源文件 一、加载资源文件 常见的资源文件有图像与图标&#xff0c;下面分别介绍下加载资源文件的常用方法 1、PyQt5加载资源文件 2、PyQt6加载资源文件 PyQt6版本暂时没有提供pyrcc工具&#xff0c;下面介绍下在不…

js中map,filter,find,foreach的用法介绍

js中map&#xff0c;filter&#xff0c;find&#xff0c;foreach的用法介绍 在 JavaScript 中&#xff0c;数组提供了一些常用的迭代方法&#xff0c;如 map、filter、find 和 forEach&#xff0c;这些方法允许你对数组中的每个元素进行操作&#xff0c;下面是它们的用法和区别…

抖音解压视频素材宝库

在快节奏的生活中&#xff0c;解压视频成为抖音上的热门内容类型&#xff0c;想要制作出精彩的解压视频&#xff0c;优质素材必不可少。今天&#xff0c;为大家推荐几个超棒的抖音解压视频素材网站&#xff0c;让你的创作之路轻松无忧&#xff01; 蛙学网 作为国内知名的短视频…

【Canvas与化学】铁元素图标

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>铁元素图标Draft1</title><style type"text/css"…

域渗透AD 示例场景漏洞 Kerberos Bronze Bit 【CVE-2020-17049】漏洞

背景 漏洞原理 漏洞复现 约束性委派攻击绕过 基于资源的约束性委派攻击绕过 漏洞预防和修复 背景 Kerberos Bronze Bit (CVE-2020-17049) 漏洞是国外安全公司 Netspi 安全研究员Jake Karnes 发现的一个Kerberos安全功能绕过漏洞。该漏洞存在的原因在于KDC在确定Kerberos服…

YoloV10改进:Block改进|使用ContextAggregation模块改善C2f模块|即插即用

摘要 在计算机视觉领域&#xff0c;目标检测与实例分割任务一直是研究的热点。YoloV10作为目标检测领域的佼佼者&#xff0c;凭借其出色的性能和效率赢得了广泛的认可。然而&#xff0c;随着技术的不断进步&#xff0c;如何进一步提升YoloV10的性能成为了我们追求的目标。近期…

Java爬虫之使用Selenium WebDriver 爬取数据

这里写自定义目录标题 Selenium WebDriver简介一、安装部署二、Java项目中使用1.引入依赖2.示例代码 三、WebDriver使用说明1.WebDriver定位器2.常用操作3.使用 cookie4.键盘与鼠标操作 Selenium WebDriver简介 Selenium WebDriver 是一种用于自动化测试 Web 应用程序的工具。…