如何将图像和文本添加到QLabel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将图像和文本添加到QLabel相关的知识,希望对你有一定的参考价值。

我有一个带QLabel的QHBoxLayout,我正试图在QLabel中同时获得一个图标和窗口标题文本。那可能吗?或者甚至将图标直接添加到QHBoxLayout,那么就是在窗口标题文本之前放置?

这是我的代码:

class MyBar(QWidget):

   def __init__(self, parent):
       super(MyBar, self).__init__()
       self.parent = parent
       self.layout = QHBoxLayout()
       self.layout.setContentsMargins(0,0,0,0)
       self.title = QLabel("Main Window")

   def changetitle(self, msg):
       self.title.setText(msg)

编辑:

这是我并排使用两个标签的代码:

    self.label3 = QLabel(self)
    self.title = QLabel("Main Window")
    self.pixmap = QPixmap('res/myIcon.ico')
    self.label3.setPixmap(self.pixmap)
    self.label3.setAlignment(Qt.AlignCenter)
    self.title.setFixedHeight(35)
    self.title.setAlignment(Qt.AlignCenter)
    self.layout.addWidget(self.label3)
    self.layout.addWidget(self.title)
    self.label3.setStyleSheet("""
        background-color: black;
    """)
    self.title.setStyleSheet("""
        background-color: black;
        color: white;
    """)
答案

下面是一个基于您的代码的演示,它应该做你想要的:

enter image description here

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        layout = QHBoxLayout(self)
        self.label3 = QLabel(self)
        self.title = QLabel("Wild Lion's Browser")
        self.pixmap = QPixmap('icon48.png')
        self.label3.setPixmap(self.pixmap)
        self.label3.setAlignment(Qt.AlignCenter)
        self.title.setMinimumHeight(self.pixmap.height())
        self.title.setAlignment(Qt.AlignCenter)
        layout.addWidget(self.label3)
        layout.addWidget(self.title)
        self.label3.setStyleSheet("""
            background-color: black;
        """)
        self.title.setStyleSheet("""
            background-color: black;
            color: white;
            padding: 0px 10px 0px 10px;
        """)
        layout.setSpacing(0)
        layout.addStretch()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    window = Window()
    window.setGeometry(600, 100, 200, 30)
    window.show()
    sys.exit(app.exec_())

以上是关于如何将图像和文本添加到QLabel的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 cv2.circle 在 Qlabel 内的图像上绘制一个圆圈

如何将可编辑的文本和图像添加到threejs

如何将可编辑的文本和图像添加到threejs

如何使用 Python 将文本添加到多个图像

如何使用 pixmap 和 Qlabel 使图像可选择?

使用 libgdx,如何将文本和图像添加到 ScrollPane?