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

中国建设银行网站首页企业成都网站建设软件

中国建设银行网站首页企业,成都网站建设软件,使网站有流量,信息流网站建设标签QLabel QLabel 标签用来显示文本和图片,在 Qt 中使用频率很高。 1. Label属性 属性说明textQLabel 中的文本。textFormat文本的格式。其中 Qt::PlainText 为纯文本;Qt::RichText 为富文本(支持 html 格式); Qt:…

标签QLabel

QLabel 标签用来显示文本和图片,在 Qt 中使用频率很高。

1. Label属性

属性说明
textQLabel 中的文本。
textFormat文本的格式。其中 Qt::PlainText 为纯文本;Qt::RichText 为富文本(支持 html 格式); Qt::MarkdownText 为 markdown 格式; Qt::AutoText 为根据内容自动决定文本格式。
pixmapQLabel 内部包含的图片。
scaledContentstrue 表示内容自动拉伸填充,为 false 则不会。(如自动填充图片)
alignment对齐方案。可以设置水平和垂直方向如何对齐。
wordWraptrue 内部的文本会自动换行,为 false 则不会。
indent设置文本缩进,水平和垂直方向都生效。
margin内部文本和边框之间的边距。(与 indent 的不同点在于,margin 在上下左右四个方向都生效,而 indent 只生效两个方向)
openExternalLink是否允许打开一个外部链接(如当 QLabel 文本包含一个 url 时)。
buddyQLabel 关联一个 “伙伴” ,点击 QLabel 时就会激活对应的伙伴(如伙伴是一个 QCheckBox ,那么该 QCheckBox 就会被选中)。

2. 更改label的文本格式

//widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setTextFormat(Qt::PlainText);ui->label->setText("这是一段纯文本");ui->label_2->setTextFormat(Qt::RichText);ui->label_2->setText("<b>这是一段富文本</b>");ui->label_3->setTextFormat(Qt::MarkdownText);ui->label_3->setText("## 这是一段markdown");}Widget::~Widget()
{delete ui;
}

QLabel1

3. QLabel设置图片

如果要对 QLabel 控件设置图片,可以使用 setPixmap() 接口设置 QLabelpixmap 属性,将图片添加到 QLabel 中,然后将 setScaledContents(true),这样图片就会自动填充,与 QLabel 的大小保持一致。

接着,可以将 QLabel 设置为与窗口大小一致,使用:

void setGeometry(int x, int y, int w, int h)
void setGeometry(const QRect &)

但要注意的是,如果是直接设置值,那么当窗口被拖拽时,QLabel 的大小是不会随窗口大小改变的。实际上,当我们拖拽放大或缩小窗口时,会持续触发窗口的 resize 事件(resizeEvent)。同时,Qt 为该事件留下了一个 size() 接口,用于获取窗口改变后的 QRect 对象。

我们只需要重写该事件的虚函数,让每次拖拽窗口时,都更新 QLabel 的大小即可:

//widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setPixmap(QPixmap(":/jienigui.jpg"));ui->label->setScaledContents(true);}Widget::~Widget()
{delete ui;
}void Widget::resizeEvent(QResizeEvent *event)
{ui->label->setGeometry(0,0,event->size().width(),event->size().height());/*这里写this->width()也是可以的,主要是通过重写resizeEvent()让QLabel的大小随事件的触发进行调整*/}

注意要在 widget.h 里添加 resizeEvent 的声明,以及添加 #include <QResizeEvent> 头文件。

QLabel2

拖拽窗口改变窗口的大小,图片会随之改变大小。

4. 设置QLabel文本对齐方式

首先为了方便查看 QLabel 的边界,可以在控件右侧的 QFrame 中设置 frameShape ,选择能看到四个边框的属性即可:

QLabel3

然后,在代码中使用 setAlignment() 接口设置文本的对齐方式即可,文本对齐有四个枚举变量:

枚举变量作用
Qt::AlignLeft左对齐
Qt::AlignRight右对齐
Qt::AlignTop上对齐
Qt::AlignBottom下对齐
Qt::AlignHCenter水平居中对齐
Qt::AlignVCenter垂直方向居中对齐
Qt::AlignBaseline垂直与基线对齐
Qt::AlignJustify水平方向调整间距两端对齐

可以使用 | 使用多种对齐方式,如 Qt::AlignLeft|Qt::AlignTop 是左上对齐,Qt::AlignCenter 等价于 Qt::AlignHCenter | Qt::AlignVCenter

5. 设置QLabel自动换行

使用 setWordWrap(true) 可以将 wordWrap 属性设置为自动换行:

//widge.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setWordWrap(true);ui->label->setText("人生就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落");}Widget::~Widget()
{delete ui;
}

QLabel4

6. 设置QLabel缩进

使用 setIndent(int px) 接口可以设置 QLabel 的缩进长度,填入一个整数表示缩进的像素。注意 ident 是全文缩进,即文本所有的行都会缩进该值,且 indent 只在两个方向上生效,具体哪个方向要看 alignment 是如何对齐的。

//widge.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setWordWrap(true);ui->label->setAlignment(Qt::AlignLeft);ui->label->setIndent(40);ui->label->setText("人生就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落");ui->label_2->setWordWrap(true);ui->label_2->setAlignment(Qt::AlignLeft|Qt::AlignTop);ui->label_2->setIndent(40);ui->label_2->setText("人生就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落");}Widget::~Widget()
{delete ui;
}

QLabel5

可以看到 label 设置为左对齐,只有左边被缩进了 40 个像素,而 label_2 设置了左上对齐,左边和上边都被缩进了 40 个像素。

7. 设置QLabel边距

使用 setMargin() 接口可以设置 QLabel 的左右边距。与 indent 属性不同的是,margin 的边距在四个方向上都生效:

//widge.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setWordWrap(true);ui->label->setAlignment(Qt::AlignLeft);ui->label->setMargin(40);ui->label->setText("人生就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落");ui->label_2->setWordWrap(true);ui->label_2->setAlignment(Qt::AlignLeft|Qt::AlignTop);ui->label_2->setMargin(40);ui->label_2->setText("人生就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落");}Widget::~Widget()
{delete ui;
}

QLabel6

可以看到对齐方式没有影响到 margin 属性的边距。

8. QLabel设置伙伴关系

QLabel 设置了一个 CheckBox 为伙伴关系后,在 QLabel 的文本中写上 &[key](例如 &A ),可以将 Ctrl+A 设置为 QLabel 的快捷键,而 QLabelCheckBox 绑定了伙伴关系,该 CheckBox 就会被选中。实际这个功能好像也没有什么用。

http://www.dtcms.com/wzjs/451190.html

相关文章:

  • 宜宾微信网站建设百度企业网盘
  • 海淀做网站网络推广属于什么专业
  • 用vs2010做的网站推广发帖网站
  • 做视频的网站那几个盈利了今日热榜官网
  • 国土网站建设自查报告市场营销试题库(带答案)
  • 最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章google 网站推广
  • 自己做的主页网站怕被劫持夸克搜索入口
  • 一屏网站模板下载 迅雷下载 迅雷下载地址百度提升优化
  • 做网站好的书做百度关键词排名的公司
  • asp+sql server典型网站建设案例手机百度云网页版登录
  • 电子商城网站制作公司免费下载app并安装
  • 毕节市建设网站店铺推广平台有哪些
  • 长沙建设局网站seo文章排名优化
  • 石家庄英文网站建设aso优化渠道
  • 跨境电商网站建设方案百度导航下载2022最新版官网
  • 开单独网站做a货鞋湖南百度推广代理商
  • 做电影下载网站需要什么软件好黑科技引流推广神器怎么下载
  • 做国内打不开的网站吗免费发外链的网站
  • 网站制作建设模板百度网站快速优化
  • wordpress网站测试网站推广一般多少钱
  • 珠海网站公司专业技能培训机构
  • 建筑行业做网站网络推广方法
  • 网站制作_做网站_耐思智慧郑州网络推广服务
  • 诚信建设万里行网站百度推广电话客服24小时
  • 东营市垦利区胜坨填建设站的网站推广员是做什么的
  • 天津网站建设代理商新闻发布会新闻通稿
  • 做水印的网站文件外链
  • 成都建站模板网站开发郑州seo排名哪有
  • 自己家里做网站网速慢网站推广如何做
  • 网站如何做推广百度图片查找