转自:https://blog.csdn.net/sddsighhz/article/details/38404473
一、设置QLabel中字体的颜色。
大致有几种做法:一是使用setPalette()方法;二是使用样式表;四是可以在其中使用一些简单的HTML样式。
第一种,使用setPalette()方法如下:
...
QLabel *label = new QLabel(tr("Hello"));
QPalette pe;
pe.setColor(QPalette::WindowText,Qt::white);
label->setPalette(pe);
第二种,使用样式表如下:
setstylesheet("QLabel {color:red;font: bold 14px;}");
//具体情形可以看Qt Assistant
第四种,使用一些简单的HTML格式:
QLabel *label = new QLabel(tr("Hello Qt!"));
QLabel *label = new QLabel("<h2><i>Hello</i><font color=red>Qt!</font></h2>");
注意:如果是在父窗口上使用样式表,子窗口上默认就是用父窗口的样式表,样式表图片会自适应控件的大小,而如果用调色板,图片不会自适应,而是铺满控件
二、字体设置
1. QFont font("Arial",30,QFont::Bold);
Label->setFont(font);
2. setStyleSheet("font: bold 14px;");
三、QLabel上显示图片
1.可以用setPixmap或者setPicture来实现
QPixmap pix;
pix.load("fix.png");
label->setPixmap(pix);
2.可以用styleSheet实现,不得不说styleSheet非常强大,可以实现很多功能,就是命名太多
setStyleSheet("QLabel {border-image:url(:/hello.png);}");
3.可以用调色板实现,基本上和字体相通
QPalette palette;
palette.setBrush(QPalette::Background, QBrush(QPixmap(":/stateBar.png")));
label->setPalette(palette);