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

【Qt开发】显示类控件——QLabel

目录

1,Label属性的说明

2,label属性的运用


1,Label属性的说明

        QLabel 是用来显示文本和图片的部件,通常被用作标签来标识其他部件。其核心属性如下。

2,label属性的运用

        文本格式 textFormat 的使用。

// 把label1设置成纯文本

ui->label1->setTextFormat(Qt::PlainText);

ui->label1->setText("# <b>这时一个纯文本</b>"); // 文本

// 把label2设置成富文本

ui->label2->setTextFormat(Qt::RichText);

ui->label2->setText("<b>这是一个富文本</b>"); // 加粗

// 把label3设置成markdown格式(这种格式有专门的设置规则,如下设置成一级标题)

ui->label3->setTextFormat(Qt::MarkdownText);

ui->label3->setText("# 这是一个markdown文本"); // 设置标题

        富文本和markdown格式可自行查看,由于样式太多,这里不做说明。

        图片 pixmap 和自动拉伸 scaledContents 的使用 。

label = new QLabel(this);

QRect rect = this->geometry();

label->setGeometry(0, 0, rect.width(), rect.height());

QPixmap pixmap(":/R-C.jpg");

pixmap.scaled(500, 500);

label->setPixmap(pixmap);

// 启动自动拉伸。label存放的图片根据窗口自动拉伸,此时图片就能够填充

label->setScaledContents(true);

// 通过拖拉窗口的事件来设置图片的动态大小

// event参数包含了这个 resize 事件这一时刻窗口尺寸的数值

void Widget::resizeEvent(QResizeEvent *event)

{

    QSize size = event->size();

    qDebug() << size;

    Widget::label->setGeometry(0, 0, size.width(), size.height());

}

        文本对齐 alignment 和自动换行 wordWrap 的使用。

ui->label1->setText("这是一段文本");

// Qt::AlignHCenter表示水平对齐的居中对齐;Qt::AlignVCenter表示垂直对齐的居中对齐

// 对齐常用的有AlignLeft(左对齐), AlignRight(右对齐), AlignTop(顶部对齐), AlignBottom(底部对齐)

ui->label1->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);

// 设置自动换行。当文本超过部件框架时,自动换行

ui->label1->setWordWrap(true);

        缩进 indent 和文本边距 margin 的使用。

// 设置缩进

ui->label2->setText("这是一段文本");

ui->label2->setIndent(50); // 整个文本缩进50像素,即所有行都缩进

   

// 设置边距。label2 的文本离边框的四周20像素

ui->label2->setMargin(20);

        伙伴 buddy 的运用。QLabel 中写的文本是通过指定的 “快捷键” 来点击的。QLabel 中的快捷键是在文本中使用 “&” + “一个字符” 来表示的。比如:若文本中存在 &A ,那么通过 alt + a 就能触发这个快捷键。 

// 设置label和radioButton的伙伴关系

ui->label1->setBuddy(ui->radioButton1);

ui->label2->setBuddy(ui->radioButton2);

http://www.xdnf.cn/news/8395.html

相关文章:

  • IDEA中设置mysql数据库中列的主键、唯一、非空、递增等属性,及如何删除此前设置的属性
  • 基于 STC89C52 的养殖场智能温控系统设计与实现
  • Spring Boot + MyBatis-Plus实现操作日志记录
  • 绘制音频信号的各种频谱图,包括Mel频谱图、STFT频谱图等。它不仅能够绘制频谱图librosa.display.specshow
  • 知道不知道
  • 【SpringBoot】从零开始全面解析Spring IocDI (一)
  • table表格鼠标圈选数据并复制且自带html结构
  • 基于Python+YOLO模型的手势识别系统
  • 使用 FFmpeg 将视频转换为高质量 GIF(保留原始尺寸和帧率)
  • ​从非洲掘金到全球逐鹿,传音用本地化战略重塑出海路径
  • C++11-(3)
  • Android内存调优学习总结(OOM与ANR)
  • ARFoundation系列讲解 - 77 音频可视化
  • Science Robotics|仿生章鱼机器人问世:流体智能分级操控,抓豆腐、测触感全自动
  • API自动化与持续集成核心实战知识点!
  • uniapp 嵌入鸿蒙原生组件 具体步骤
  • 封装WPF中列表控件的剪贴板操作(附源码)
  • 如何通过用户体验设计提升Shopify独立站的信任度
  • 云原生安全核心:云安全责任共担模型(Shared Responsibility Model)详解
  • 解锁C++编辑距离:文本相似度的度量密码
  • 界面组件DevExpress WPF中文教程:Grid - 行和卡片
  • 扫描电镜:打开微观世界的“超维相机“
  • [实战]用户系统-2-完善登录和校验以及VIP
  • Python打卡第34天
  • PETR- Position Embedding Transformation for Multi-View 3D Object Detection
  • leetcode 61. Rotate List和86. Partition List
  • 【心海资源】黄金首饰价格查询单页源码
  • 如何在 Windows 11 或 10 上通过 PowerShell 安装 Docker Desktop
  • Centos7和Centos8版本功能对比
  • 系统性能分析基本概念(2):性能模型