Python 如何向QLabel添加图像和文本
我有一个QHBoxLayout,其中有一个QLabel,我试图在QLabel中同时获得图标和窗口标题文本。可能吗?或者甚至将图标直接添加到QHBoxLayout中,以便在窗口标题文本之前放置图标 这是我的密码:Python 如何向QLabel添加图像和文本,python,layout,pyqt5,qpixmap,qlabel,Python,Layout,Pyqt5,Qpixmap,Qlabel,我有一个QHBoxLayout,其中有一个QLabel,我试图在QLabel中同时获得图标和窗口标题文本。可能吗?或者甚至将图标直接添加到QHBoxLayout中,以便在窗口标题文本之前放置图标 这是我的密码: class MyBar(QWidget): def __init__(self, parent): super(MyBar, self).__init__() self.parent = parent self.layout = QHBo
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;
""")
下面是一个基于您的代码的演示,该代码可以实现您想要的功能:
并排使用两个标签:一个是文本标签,一个是pixmap标签。我已经这样做了,但是没有得到在文本前面有图标的结果。另外,两个标签之间有一些白色的间隙,并没有黑色背景,这当然看起来很糟糕。我用我使用的代码编辑了这个问题。
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_())