当前位置: 代码迷 >> 综合 >> 整理Qt常用类的用法(一) QFont、QLabel
  详细解决方案

整理Qt常用类的用法(一) QFont、QLabel

热度:54   发布时间:2024-01-13 03:36:02.0

一、设置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);