本节对应的视频讲解:B_站_链_接

https://www.bilibili.com/video/BV1wB4y1B7b7

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

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::AlignCenterAlignVCenter | AlignHCenter) 垂直方向和水平方向-居中对齐

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

该属性,既可以在 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 布局

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

2.2 为标签添加背景色

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

2.3 为标签添加图片

首先添加资源文件,并添加两个图标文件(方法在之前已经进行了详细的介绍)

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

2.4 代码实现

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;// 将图标文件加载到 QPixmapif(index == 0) {px.load(QString(":/icon/strawberry.ico"));index++;} else {px.load(QString(":/icon/apple.ico"));index = 0;}// 把图片设置到标签上ui->lbImage->setPixmap(px);// 不要缩放,否则拉伸导致失真ui->lbImage->setScaledContents(false);// 图片在标签中居中显示(水平和垂直方向均居中)ui->lbImage->setAlignment(Qt::AlignCenter);
}

本节对应的视频讲解:B_站_链_接

https://www.bilibili.com/video/BV1wB4y1B7b7

【QT开发笔记-基础篇】| 第二章 常用控件 | 2.3 标签 QLabel相关推荐

  1. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget

    本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...

  2. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.2 按钮 QPushButton

    本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1zG411s7LG QPushButton 是 Qt 中的按钮,通常用于响应用户的点击,然后执行 ...

  3. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.9 滑动条 QSlider

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1BT411g791 QSlider 是滑动条控件,滑动条可以在一个范围内拖动,并将其位置转换为整 ...

  4. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.11 列表框 QListWidget

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gd4y1Q7Bw Qt 中的列表框控件,对应的类是 QListWidget 它用于显示多个列表 ...

  5. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.1 效果演示、技术点

    本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV14P4y197pi Qt 中绘图用到的类是 QPainter,可以实现点.线.矩形.圆形.多边形 ...

  6. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.2 搭建Qt开发环境

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1Pr4y1x7fh Qt 开发主要有两种开发环境 Qt Creator 它是 Qt 官方提供的开 ...

  7. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...

  8. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.4 项目构建流程

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1cW4y1y7Lw 在上一节课中,我们新建了第一个 Qt 工程,其中包括 5 个文件: Hell ...

  9. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.2 界面布局

    本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1fR4y1k7Kt 上节课,初步展示了本章要实现的效果.本节课开始,就从零新建工程,把效果一一实 ...

最新文章

  1. java4_Java 4
  2. 【AutoML】归一化(Normalization)方法如何进行自动学习和配置
  3. ORA-29275:部分多字节字符
  4. 关于VUE项目地图开发中大量点标记绘制一些总结
  5. java 年份对应的中国生肖
  6. socket-select函数
  7. 修改3389端口为3389端口
  8. python小应用之整理手机图片
  9. 变量存储list python_Python变量类型(八)
  10. #leetcode刷题之路27-移除元素
  11. vb.net 自定义progressbar
  12. 计算机硕士工资一览表,2021年计算机硕士工资一览表.doc
  13. Amazon亚马逊 Vendor Central Label详解
  14. [linux thermal] thermal device tree
  15. wordpress插件_您应该知道的2018年10个高级WordPress插件
  16. 在嘲笑与冷眼下成长,并不断在泥潭中站起
  17. MiniFly微型四轴学习与开发日志(三)
  18. 地标海之珠夜色素材高清图片
  19. ROS环境下Baxter机器人控制记录
  20. 关于手机端选择日期插件 mobiscroll

热门文章

  1. iphone13pro运行内存多大
  2. 百度云不用再70K下载了
  3. 家用洗地机哪个好用?家用洗地机分享
  4. 瞰见 I 黯然退市的 Cloudera, 让我们开源人情何以堪?
  5. word输入技巧:上下标这个梗,你将如何化解?
  6. 敏感字检测or替换,并可以限定字符串长度
  7. 如何修改图片大小、压缩图片质量?
  8. 【NLP】pkuseg:一个多领域中文分词工具包
  9. MSSQL渗透备忘录
  10. 抖音计算机表白文档,抖音上的表白代码是什么 抖音表白代码自动生成方法