首页 > 其他分享 >Qt——QLabel控件常见的属性、方法和信号

Qt——QLabel控件常见的属性、方法和信号

时间:2024-02-20 09:33:05浏览次数:30  
标签:控件 Qt label lab2 文本 QLabel

QLabel 控件常见的属性、方法和信号

一、QLabel 控件常见属性
二、QLabel 控件常见方法
三、QLabel 控件常见信号

方法:
set+xxx设置属性、去掉set就是获取属性

所有控件中的属性和方法都是通用的

QLabel 控件

描述:QLabel 是一个用于显示文本或图像的控件。它通常被用作标签或显示静态信息的区域。

一、QLabel 控件常见的属性

属性:

1. text:

描述:标签显示的文本内容。

用法:

label->setText("Hello, World!");
  • 1

2. pixmap:

描述:标签显示的图像。

用法:

QPixmap pixmap("image.png");
label->setPixmap(pixmap);
lab2->setPixmap(QPixmap(":/1.jpg").scaled(lab2->width(), lab2->height()));
  • 1
  • 2
  • 3

3. alignment:

描述:文本或图像在标签中的对齐方式。

用法:

label->setAlignment(Qt::AlignCenter);

Qt::AlignLeft:将内容左对齐。
Qt::AlignRight:将内容右对齐。
Qt::AlignHCenter:将内容水平居中。
Qt::AlignJustify:通过拉伸或收缩字符间距来实现两端对齐。
Qt::AlignTop:将内容顶部对齐。
Qt::AlignBottom:将内容底部对齐。
Qt::AlignVCenter:将内容垂直居中。
Qt::AlignCenter:将内容水平和垂直都居中。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4. wordWrap:

描述:设置是否自动换行文本。

用法:

label->setWordWrap(true);
  • 1

5. openExternalLinks:

描述:设置是否打开外部链接。

用法:

label->setOpenExternalLinks(true);
  • 1

6. textFormat:

描述:设置文本显示格式,如纯文本、富文本等。

用法:

label->setTextFormat(Qt::RichText);
  • 1

7. textInteractionFlags:

描述:设置文本交互标志,如可选中、可复制等。

用法:

label->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
  • 1

8. margin:

描述:设置标签的边距。

用法:

label->setMargin(10);
  • 1

二、QLabel 控件常见的方法

1. clear:

描述:清除标签的内容,使其为空。

用法:

label->clear();
  • 1

2. setBuddy(QWidget *buddy):

描述:设置标签的伙伴控件,用于实现键盘快捷键。

用法:

QLabel *nameLabel = new QLabel("Name:");
QLineEdit *nameLineEdit = new QLineEdit;
nameLabel->setBuddy(nameLineEdit);
  • 1
  • 2
  • 3

3. setText():

描述:设置文本内容。
用法:

button->settext("我是setText");
  • 1

4. setPixmap():设置图像。
5. clear():清除文本和图像内容。
6. setAlignment():设置对齐方式。
7. setWordWrap():设置自动换行。
8. setOpenExternalLinks():设置是否允许打开超链接。
9. setToolTip():设置悬停提示信息。
10. setScaledContents();// terue或 false:图像自由缩放
11. lab2->setPixmap(QPixmap(“:/1.jpg”).scaled(lab2->width(), lab2->height())); // 图像适应性缩放

三、QLabel 控件常见的信号

1. linkActivated(const QString &link):

描述:当用户点击标签上的链接时发出。

用法:连接此信号以在链接被点击时执行操作。

connect(label, &QLabel::linkActivated, [](const QString &link) {
    qDebug() << "Link activated:" << link;
});
  • 1
  • 2
  • 3

2. linkHovered(const QString &link):

描述:当用户悬停在标签上的链接时发出。

用法:连接此信号以在链接被悬停时执行操作。

connect(label, &QLabel::linkHovered, [](const QString &link) {
    qDebug() << "Link hovered:" << link;
});
  • 1
  • 2
  • 3

3. linkPressed(const QString &link):

描述:当用户在标签上点击链接时发出,与 linkActivated 类似。

用法:连接此信号以在链接被点击时执行操作。

connect(label, &QLabel::linkPressed, [](const QString &link) {
    qDebug() << "Link pressed:" << link;
});
  • 1
  • 2
  • 3

示例:

下面是一个示例,演示了如何使用 QLabel 控件来显示文本和图像:

#include <QApplication>
#include <QLabel>
#include <QPixmap>

int main(int argc, char *argv[]) {
QApplication app(argc, argv);

QLabel label<span class="token punctuation">;</span>
label<span class="token punctuation">.</span><span class="token function">setText</span><span class="token punctuation">(</span><span class="token string">"Hello, World!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">// 设置文本</span>
QPixmap <span class="token function">pixmap</span><span class="token punctuation">(</span><span class="token string">"image.png"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>     <span class="token comment">// 加载图像</span>
label<span class="token punctuation">.</span><span class="token function">setPixmap</span><span class="token punctuation">(</span>pixmap<span class="token punctuation">)</span><span class="token punctuation">;</span>         <span class="token comment">// 设置图像</span>

label<span class="token punctuation">.</span><span class="token function">setAlignment</span><span class="token punctuation">(</span>Qt<span class="token double-colon punctuation">::</span>AlignCenter<span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">// 设置对齐方式</span>

label<span class="token punctuation">.</span><span class="token function">show</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token keyword">return</span> app<span class="token punctuation">.</span><span class="token function">exec</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    setFixedSize(640, 480);
    lab1 = new QLabel("标签", this);
    lab1->setStyleSheet("background-color: #00ff00");
    lab1->setFixedSize(100, 50);
<span class="token comment">//setAlignment()设置文本对齐方式</span>
lab1<span class="token operator">-&gt;</span><span class="token function">setAlignment</span><span class="token punctuation">(</span>Qt<span class="token double-colon punctuation">::</span>AlignHCenter <span class="token operator">|</span> Qt<span class="token double-colon punctuation">::</span>AlignCenter<span class="token punctuation">)</span><span class="token punctuation">;</span>

lab1<span class="token operator">-&gt;</span><span class="token function">setText</span><span class="token punctuation">(</span><span class="token string">"改过来的文本"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

lab2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token function">QLabel</span><span class="token punctuation">(</span><span class="token string">"大标签"</span><span class="token punctuation">,</span><span class="token keyword">this</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
lab2<span class="token operator">-&gt;</span><span class="token function">resize</span><span class="token punctuation">(</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-</span> lab1<span class="token operator">-&gt;</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
lab2<span class="token operator">-&gt;</span><span class="token function">move</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> lab1<span class="token operator">-&gt;</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//lab2-&gt;setGeometry(lab1-&gt;x(), lab1-&gt;y() + 50, 640, 430);</span>
lab2<span class="token operator">-&gt;</span><span class="token function">setStyleSheet</span><span class="token punctuation">(</span><span class="token string">"border: 1px solid red;"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

#if 0
//setScaledContents()设置内容的自由缩放
lab2->setScaledContents(true);
//setPixmap()显示绘图
lab2->setPixmap(QPixmap(":/1.jpg"));
#else
lab2->setPixmap(QPixmap(":/1.jpg").scaled(lab2->width(), lab2->height()));

#endif
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

标签:控件,Qt,label,lab2,文本,QLabel
From: https://www.cnblogs.com/mkmkbj/p/18022408

相关文章

  • Qt QTabWidget显示隐藏tab页方法(setTabVisible)
    QT中QTabWidget在Qt5.15引入了setTabVisible方法低版本实现方法1//TabWidget2classTabWidget:publicQTabWidget3{4Q_OBJECT56public:78classwidgetTab{9public:10QStringtext;11QWidget*w......
  • Qt error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const
    简介  通过QtCreator开发一个动态库,最开始希望只是一个简单的纯C++的动态库,就没有继承QObject,也没有写Q_OBJECT宏。编译时就会报:LNK2001:无法解析的外部符号public:virtualstructQMetaObjectconst。绕了不少弯子,终于解决了,把原因分析进行个整理。面试有个问题:Qt信号槽机......
  • Qt error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const
    这个问题总是在编译的不经意间出现,而且一出一大片,很烦。作为新手出了问题可定要在网上找答案,但是总是发现别人的解决方法解决不了自己的问题,唉~在这个问题上大家大家提出的大多数是.h.cpp文件不对应、.h中声明的文件在.cpp文件中没有实现、函数声明在了.cpp文件中等等一......
  • 将控件提升为自定义的控件
    一、自定义控件的类型自定义拖动的设计文件(.h、.cpp、.ui)和自定义的自绘文件(.h、.cpp)二、打开提升窗口三、设置自定义类路径四、注意事项1.若自定义控件与提升窗口不在同一路径,且置于pri文件中。则会导致自定义的控件编译报错。"noruletomaketargetxxx......
  • c# WPF 布局控件
    c#WPF布局控件风雨飘潇有鼻子有眼,普通路人一个 3人赞同了该文章一、概论WPF是继MFC和Winform后,下一代Windows桌面应用程序的技术。其核心是一个与分辨率无关并且基于向量的程序引擎,以在现代图形硬件的优势下,实现更优质的用户客户端软......
  • Qt 使用QCryptographicHash做简单的数据加密
    在编写程序的时候经常会使用到一些加密的方法,在Qt中,提供了一些常用的加密方法:Md4,Md5,Sha1,Sha224,Sha256,Sha384,Sha512,Sha3_224,Sha3_256,Sha3_384,Sha3_512,如果我们需要使用这些加密方法时,可以直接使用Qt中的QCryptographicHash类进行加密。1#include<QCryptographic......
  • Qt 项目实战:基于QMediaPlayer播放器
    QMediaPlayer开发视频播放器Q:我们为何不使用QMediaPlayer?A:QMediaPlayer支持的编解码库太少;QMediaPlayer在windows中解码调用的是DirectShow,在Linux中调用的是GStreamer;相对Windows而言GStreamer扩展编解码库比较方便,但是windows中的DirectShow太老了,DemuxerDecoder都比较麻......
  • Qt 哈希加密 QCryptographicHash
    QCryptographicHash类提供了生成密码散列的方法。该类可以用于生成二进制或文本数据的加密散列值。目前支持MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。共有类型枚举QCryptographicHash::Algorithm:公共函数voidaddData(constchar*data,intlength)......
  • Qt 项目实战:电子时钟
    电子时钟隐藏widget边框this->setWindowFlags(Qt::FramelessWindowHint);//隐藏边框实时跟踪鼠标this->setMouseTracking(true);//实时跟踪鼠标通过信号与槽来刷新时针分针秒针状态connect(timer,SIGNAL(timeout()),this,SLOT(update()));鼠标左键按下移动窗......
  • Qt 项目实战:MD5工具开发
    MD介绍MD5消息摘要算法(英语:MD5Message­DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。MD5应用编辑......