QT QLabel颜色的设置(文字、背景)

方法1 使用调色板QPalettet

设置黑底红字的Label

QLabel *label = new QLabel(tr("Hello Qt!"));    
QPalette pe;
//设置黑底红字
pe.setColor(QPalette::Background,Qt::black);
pe.setColor(QPalette::WindowText,Qt::red);    
label->setPalette(pe);

方法2 使用QT样式表(QSS)直接设置

设置指定背景色的Label

ui->label->setText(""); 
//ui->label->setStyleSheet("color:red;"); 
//设置指定背景色
ui->label->setStyleSheet("QLabel{background-color:rgb(200,101,102);}");  
  • 13
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过继承 QLabel 类来实现自定义 QLabel,然后可以通过以下方法设置背景颜色文字颜色和滚动效果。 设置背景颜色: 可以通过 `setStyleSheet` 方法设置样式表来实现设置背景颜色,示例代码如下: ```cpp class MyLabel : public QLabel { public: MyLabel(QWidget* parent = nullptr); private: void init(); }; MyLabel::MyLabel(QWidget* parent) : QLabel(parent) { init(); } void MyLabel::init() { setStyleSheet("background-color: red;"); } ``` 设置文字颜色: 可以通过 `setStyleSheet` 方法设置样式表来实现设置文字颜色,示例代码如下: ```cpp class MyLabel : public QLabel { public: MyLabel(QWidget* parent = nullptr); private: void init(); }; MyLabel::MyLabel(QWidget* parent) : QLabel(parent) { init(); } void MyLabel::init() { setStyleSheet("color: blue;"); } ``` 设置文字滚动: 可以通过继承 `QLabel` 类,并重写 `paintEvent` 方法来实现文字滚动效果,示例代码如下: ```cpp class MyLabel : public QLabel { public: MyLabel(QWidget* parent = nullptr); private: void init(); void paintEvent(QPaintEvent *ev) override; QTimer* timer; int pos = 0; }; MyLabel::MyLabel(QWidget* parent) : QLabel(parent) { init(); } void MyLabel::init() { setText("Hello World!"); timer = new QTimer(this); connect(timer, &QTimer::timeout, [this](){ if (pos == width()) { pos = -fontMetrics().width(text()); } else { pos++; } update(); }); timer->start(10); } void MyLabel::paintEvent(QPaintEvent *ev) { QPainter painter(this); painter.drawText(pos, 0, text()); } ``` 以上代码通过重写 `paintEvent` 方法来实现文字滚动效果,每隔一定时间更新 `pos` 变量的值,然后重新绘制 `QLabel` 即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值