首页 > 其他分享 >[QT基础系列]标签QLabel

[QT基础系列]标签QLabel

时间:2024-10-25 12:50:28浏览次数:10  
标签:Widget Qt 标签 void ui 对齐 QLabel QT

标签QLabel

QLabel 是 Qt 中的标签类,通常用于显示提示性的文本,也可以显示图像
在这里插入图片描述

文本

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

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

对齐方式

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

// 获取和设置文本的对齐方式
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); // 设置是否允许换行 

图像

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

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

案例

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

为标签添加背景色

在标签右侧的属性窗口中,点击 styleSheet 属性右侧的 “…”,即可打开如下窗口,可以设置标签的各种样式:
在这里插入图片描述

为标签添加图片

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

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

代码

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;

    // 将图标文件加载到 QPixmap
    if(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);
}

标签:Widget,Qt,标签,void,ui,对齐,QLabel,QT
From: https://blog.csdn.net/m0_67194883/article/details/143222848

相关文章

  • QtCreator开发工具
    视图及分栏项目视图文件系统视图书签视图ctrl+m添加书签编辑区打开文档列表类列表分栏常用快捷键使用键盘模拟鼠标操作代码编辑Ctrl+[Shift]+Enter在当前行的下方[上方]插入空白行Ctrl+l[;]代码对齐[格式化]Shift+Delete剪切当前行,可以当做删除用Ctrl+/......
  • 实现Qtextedit控件大小改变时候希望不重新绘制
    实现Qtextedit控件大小改变时候希望不重新绘制4.备选方案5.完整示例6.总结要在QTextEdit控件大小改变时防止其重新绘制,可以通过创建一个自定义的QTextEdit子类,并重载相关事件来控制绘制行为。以下是实现这一目标的详细步骤和示例代码:创建自定义的QTextEdit......
  • 如何在QT5+MinGW环境中编译使用Marble开发地图地球仪
    Marble它是一个虚拟地球仪和地图应用程序,支持多种平台。Marble提供2D和3D的地图视图,能够展示各种地理信息,像卫星图、街道图、气象图等。它还支持自定义插件、路线规划、离线地图等功能,适合地理信息系统(GIS)和教育用途。Marble有多种使用场景,可以集成到Qt应用中。你......
  • 噪声标签学习-噪声转移矩阵估计
    基本原理样本的干净标签后验概率\(P(\mathbf{Y}|X=\mathbf{x})\),可通过噪声标签的后验概率\(P(\bar{\mathbf{Y}}|X=\mathbf{x})\)和噪声转移矩阵\(T(\mathbf{x})\)得到,即:\[P(\bar{\mathbf{Y}}|X=\mathbf{x})=T(\mathbf{x})P(\mathbf{Y}|X=\mathbf{x})\]其中\(T_{ij}(\mathbf......
  • Qt 进程保活(开源,国产环境)QTableWidget列表
    效果图第一步设计器拖拽一个QTableWidget和三个QPushButton,布局一下第二步上码1.mainwindow.h代码如下(示例):#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QDebug>#include<QPushButton>#include<QLabel>#include<QFileInfo......
  • qt5multimedia播放rtsp延迟高
    Qt5Multimedia在Liunux平台已实现对Gstreamer的支持,近期在RK3588平台,使用Qt5Multimedia播放RTSP流时,遇到延迟高问题(3s左右),查看API,Qt5Multimedia无法向Gstreamer传递参数。解决办法:重新编译qt5multimedia;修改qt5multimedia/src/gsttools/qgstreamerplayersession.cppGstE......
  • Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度
    一、前言说明在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作。经过搜索发现很多人都有这个需求,需要在js文件中加上一点代码才行,也就是在start开始......
  • 【模板】FHQtreap
    mt19937rnd(time(0));structFHQtreap{ intlc[N],rc[N],val[N],key[N],siz[N],pool,root; intcreate(intx){ intp=++pool; val[p]=x; siz[p]=1; key[p]=rnd(); lc[p]=rc[p]=0; returnp; } voidupdate(intp){ if(!p)return; siz[p]=siz[lc[p]]+si......
  • ECharts饼图-富文本标签,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览 二、视......
  • 聊一聊Spring中的AOP【XML】【标签解析】
    [!NOTE]**Spring版本:**5.3.27**AspectJ版本:**1.9.22**JDK版本:**1.81、前置说明[!TIP]概念性的东西理解起来都会比较抽象,下面的一些概念可以一扫而过,有个大致印象就行。先学会使用,再分析原理,回过头来再看这些概念就会一一对应上。1.1前置概念1.1.1基础概念AOP(......