【QT开发笔记-基础篇】| 第二章 常用控件 | 2.3 标签 QLabel
本节对应的视频讲解:B_站_链_接
https://www.bilibili.com/video/BV1wB4y1B7b7
QLabel
是 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::AlignCenter
(AlignVCenter
|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相关推荐
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget
本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.2 按钮 QPushButton
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1zG411s7LG QPushButton 是 Qt 中的按钮,通常用于响应用户的点击,然后执行 ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.9 滑动条 QSlider
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1BT411g791 QSlider 是滑动条控件,滑动条可以在一个范围内拖动,并将其位置转换为整 ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.11 列表框 QListWidget
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gd4y1Q7Bw Qt 中的列表框控件,对应的类是 QListWidget 它用于显示多个列表 ...
- 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.1 效果演示、技术点
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV14P4y197pi Qt 中绘图用到的类是 QPainter,可以实现点.线.矩形.圆形.多边形 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.2 搭建Qt开发环境
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1Pr4y1x7fh Qt 开发主要有两种开发环境 Qt Creator 它是 Qt 官方提供的开 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.4 项目构建流程
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1cW4y1y7Lw 在上一节课中,我们新建了第一个 Qt 工程,其中包括 5 个文件: Hell ...
- 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.2 界面布局
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1fR4y1k7Kt 上节课,初步展示了本章要实现的效果.本节课开始,就从零新建工程,把效果一一实 ...
最新文章
- java4_Java 4
- 【AutoML】归一化(Normalization)方法如何进行自动学习和配置
- ORA-29275:部分多字节字符
- 关于VUE项目地图开发中大量点标记绘制一些总结
- java 年份对应的中国生肖
- socket-select函数
- 修改3389端口为3389端口
- python小应用之整理手机图片
- 变量存储list python_Python变量类型(八)
- #leetcode刷题之路27-移除元素
- vb.net 自定义progressbar
- 计算机硕士工资一览表,2021年计算机硕士工资一览表.doc
- Amazon亚马逊 Vendor Central Label详解
- [linux thermal] thermal device tree
- wordpress插件_您应该知道的2018年10个高级WordPress插件
- 在嘲笑与冷眼下成长,并不断在泥潭中站起
- MiniFly微型四轴学习与开发日志(三)
- 地标海之珠夜色素材高清图片
- ROS环境下Baxter机器人控制记录
- 关于手机端选择日期插件 mobiscroll