如何将图像和文本添加到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;
""")
答案
下面是一个基于您的代码的演示,它应该做你想要的:
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的主要内容,如果未能解决你的问题,请参考以下文章