labelNew->setStyleSheet(QString("background-image: url(%1);" "background-repeat: no-r...-Go服务器开发" />

ZBLOG

QString currentPath = QCoreApplication::applicationDirPath(); QString pathnew = currentPath + "/img/new.svg"; ui->labelNew->setStyleSheet(QString("background-image: url(%1);" "background-repeat: no-r...

要让 ui->labelNew 的文本显示在图片的下面,您可以使用一个垂直布局来放置标签和文本。首先,将图片设置为标签的背景,然后再创建一个新的 QLabel 用于显示文本。这样,您就可以控制它们之间的关系。

以下是如何实现这一目标的示例代码:

  1. // 创建一个新的 QVBoxLayout
  2. QVBoxLayout *layout = new QVBoxLayout(ui->labelNew);
  3. // 设置 labelNew 的背景图像
  4. QString currentPath = QCoreApplication::applicationDirPath();
  5. QString pathnew = currentPath + "/img/new.svg";
  6. ui->labelNew->setStyleSheet(QString("background-image: url(%1);"
  7. "background-repeat: no-repeat;"
  8. "background-position: center;").arg(pathnew));
  9. // 添加图片到 label 中,实际上我们只用它作为背景,所以这里不需要其他内容
  10. // 创建一个 QLabel 用于显示文本
  11. QLabel *textLabel = new QLabel("Your Text Here", ui->labelNew);
  12. textLabel->setAlignment(Qt::AlignHCenter); // 水平居中对齐
  13. // 可选:设置边距,使得文本距离图片更近或更远
  14. textLabel->setContentsMargins(0, 10, 0, 0); // 上边距10,可以根据需要调整
  15. // 将 textLabel 添加到 layout 中
  16. layout->addWidget(textLabel);
  17. // 最后将 layout 应用到 labelNew 上(如果是 Qt5 或者更新版本)
  18. ui->labelNew->setLayout(layout);

注意事项:

  1. 层叠控件: 使用 QVBoxLayout 来使图片与文本垂直排列。
  2. 内容边距: 您可以通过调整 setContentsMargins() 方法来控制文本与底部之间的间距。
  3. 布局管理: 确保您的 ui->labelNew 控件能够承载这个新的布局,并且不会被其他控件所覆盖。

这种方法可以保证您的图像和文本在视觉上保持清晰并且美观。如果有任何进一步的问题,请告诉我!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:labelNew->setStyleSheet(QString("background-image: url(%1);" "background-repeat: no-r...">https://golang.0voice.com/?id=22154

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?