QLabel中显示的字符串是支持HTML标签

QLabel中显示的字符串是支持HTML标签的。如果应用好的话会达到很多方便快捷的效果。

举几个例子如下:
(1) 作为标题:
用一个QLabel对象,使其字体加大、加粗、居中,使用如下三个标签即可。
new QLabel("<font size='+1'><b><p align='center'>标题</p></b></font>", this, "title")

(2) 加下划线:
使用<u></u>即可实现。

(3) 给局部加样式
还可以对text的部分内容添加标签,以使个别内容使用不同字体、样式,并且不影响整体字体。如,给字加颜色、大小、字体等。
<font color='#5500ff' size='+1' face='Sans'>被设置了字体</font>

(4) 画横线
使用<hr>即可实现。

完整代码如下:

#include <qlayout.h>   
#include <qframe.h>   
#include <qlabel.h>   
#include <qfont.h>   
QVBoxLayout *vBox = new QVBoxLayout(this);  
vBox->addWidget(new QLabel("<font size='+1'><b><p align='center'>标题</p></b></font>", this));//标题   
vBox->addWidget(new QLabel("<hr>", this, "hr"));//在标题下面画一道横线   
/* 
//或是用下面的方法 
QFrame *lbHr = new QFrame( this, "line4" ); 
lbHr->setGeometry( QRect( 1, 20, width()-2, 16 ) ); 
//lbHr->setPaletteBackgroundColor( QColor( 222, 199, 241 ) ); 
lbHr->setFrameShape( QFrame::HLine ); 
lbHr->setFrameShadow( QFrame::Sunken ); 
lbHr->setFrameShape( QFrame::HLine ); 
vBox->addWidget(lbHr);//横线 
*/  
vBox->addStretch(1);  
vBox->addWidget(new QLabel("<u>带下划线的label</u>", this));  
QLabel *label = new QLabel("设置字体:<font color='#5500ff' size='+1' face='Sans'>被设置了字体</font>", this);  
//字体加粗,被设置字体部分同样加粗   
QFont font = label->font();  
font.setBold(true);  
label->setFont(font);  
vBox->addWidget(label);  
QLabel *label2 = new QLabel("设置字体未加粗:<font color='#5500ff' size='+1' face='Sans'>被设置了字体</font>", this);  
vBox->addWidget(label2);  
[cpp] view plain copy
#include <qlayout.h>  
#include <qframe.h>  
#include <qlabel.h>  
#include <qfont.h>  
QVBoxLayout *vBox = new QVBoxLayout(this);  
vBox->addWidget(new QLabel("<font size='+1'><b><p align='center'>标题</p></b></font>", this));//标题  
vBox->addWidget(new QLabel("<hr>", this, "hr"));//在标题下面画一道横线  
/* 
//或是用下面的方法 
QFrame *lbHr = new QFrame( this, "line4" ); 
lbHr->setGeometry( QRect( 1, 20, width()-2, 16 ) ); 
//lbHr->setPaletteBackgroundColor( QColor( 222, 199, 241 ) ); 
lbHr->setFrameShape( QFrame::HLine ); 
lbHr->setFrameShadow( QFrame::Sunken ); 
lbHr->setFrameShape( QFrame::HLine ); 
vBox->addWidget(lbHr);//横线 
*/  
vBox->addStretch(1);  
vBox->addWidget(new QLabel("<u>带下划线的label</u>", this));  
QLabel *label = new QLabel("设置字体:<font color='#5500ff' size='+1' face='Sans'>被设置了字体</font>", this);  
//字体加粗,被设置字体部分同样加粗  
QFont font = label->font();  
font.setBold(true);  
label->setFont(font);  
vBox->addWidget(label);  
QLabel *label2 = new QLabel("设置字体未加粗:<font color='#5500ff' size='+1' face='Sans'>被设置了字体</font>", this);  
vBox->addWidget(label2);  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值