QLabel 在左边添加小图标

不废话,直接上代码:

m_plbTip = new QLabel(this);
    LedtLeftBtnFactory fac;
    QPushButton * pbtnIco = fac.buildIcoBtn(this,":/Login/tipIcon.png");
    QImage img(":/Login/tipIcon.png");
    pbtnIco->setFixedSize(img.size());


    QHBoxLayout * pLay = new QHBoxLayout();
    pLay->setContentsMargins(0,0,0,0);
    pLay->addSpacing(5);
    pLay->addWidget(pbtnIco);
    pLay->addStretch(5);
    m_plbTip->setLayout(pLay);
    m_plbTip->setContentsMargins(0,10,10,10);

    //m_plbTip->setFixedSize(270,38);
    m_plbTip->hide();

    m_plbTip->setStyleSheet("color:#cc0000;background-color:#fff9ef;border-width: 1px;border-style: solid;border-color: #ff5b5b;");

如果只有上面的代码,则出来的效果的文字的左边会被遮挡,因此我们在setText时,要添加一些空格

void LoginViewUI::ShowTip(QString str){

    m_plbTip->setText("   "+str);
    m_plbTip->show();
}

效果图

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用 Qt 的 QLabel 控件中,可以通过设置布局来实现文字在图标右边的效果。以下是一个示例的 C++ 代码片段: ```cpp // 创建 QLabel 控件和 QPixmap 图标 QLabel* label = new QLabel(this); QPixmap icon("path/to/icon.png"); // 创建水平布局 QHBoxLayout* layout = new QHBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); label->setLayout(layout); // 创建图标 QLabel 和文字 QLabel QLabel* iconLabel = new QLabel(this); iconLabel->setPixmap(icon.scaledToHeight(20)); // 设置图标大小 layout->addWidget(iconLabel); QLabel* textLabel = new QLabel("Text", this); layout->addWidget(textLabel); // 设置水平布局的伸缩因子,将图标和文字分开 layout->setStretchFactor(iconLabel, 0); layout->setStretchFactor(textLabel, 1); ``` 在这个示例中,我们首先创建一个 QLabel 控件和一个 QPixmap 图标。然后,我们创建一个水平布局 QHBoxLayout,并将其设置QLabel 的布局。 接下来,我们创建一个图标 QLabel(使用 setPixmap() 设置图标)和一个文字 QLabel,并将它们添加到布局中。通过设置水平布局的伸缩因子(stretch factor),我们可以控制图标和文字的相对大小和位置。在这个示例中,我们将图标的伸缩因子设置为0,将文字的伸缩因子设置为1,以便文字占据剩余的空间。 最后,我们设置了水平布局的边距(margins)为0,以确保图标和文字之间没有间隙。 你可以根据需要修改图标和文字的大小、文本内容等来适应你的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值