当前位置: 首页 > news >正文

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;
}

http://www.lryc.cn/news/464498.html

相关文章:

  • 深度学习:终身学习(Life-Long Learning)详解
  • 前端UI框架
  • 最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?
  • SQL Injection | SQL 注入概述
  • 【Linux 从基础到进阶】磁盘I/O性能调优
  • 浅谈AGI时代的“数据枢纽”——向量数据库
  • 生成 Excel 表列名称
  • 基于yolov10的烟雾明火检测森林火灾系统python源码+pytorch模型+评估指标曲线+精美GUI界面+数据集
  • UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘
  • 【EtherCAT实践篇一】TwinCAT 3安装、使用
  • 4、CSS3笔记
  • Docker无法拉取镜像解决办法
  • Ubuntu 20.04安装Qt 5.15(最新,超详细)
  • 桂林旅游一点通:SpringBoot平台应用
  • 【WPF】04 Http消息处理类
  • 如何精准设置线程数,提升系统性能的秘密武器!
  • 正则表达式:从入门到精通
  • CRMEB标准版Mysql修改sql_mode
  • linux驱动访问的地址为虚拟地址
  • 基于SpringBoot+Vue+uniapp微信小程序的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 使用WPF写一个简单的开关控件
  • FPGA采集adc,IP核用法,AD驱动(上半部分)
  • MongoDB 如何做mapreduce
  • Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用
  • c++ 桶排序(看这一篇就够了)
  • 格点拉格朗日插值与PME算法
  • 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
  • jmeter中用csv data set config做参数化2
  • 背包问题整理
  • 基于Matlab车牌识别课程设计报告