如何仅在QLabel中设置文本占用区域的背景色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何仅在QLabel中设置文本占用区域的背景色?相关的知识,希望对你有一定的参考价值。

如何在QLabel中设置仅文本占用区域的背景颜色?

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

class myList(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Frame Example")
        self.myui()

    def myui(self):

        self.textbox = QLineEdit()
        self.label_head = QLabel("Company Name")
        self.textbox.setFixedSize(400,30)
        self.label_head.setFont(QFont("caliber",12,QFont.Bold))
        self.label_head.setAlignment(Qt.AlignCenter)
        self.label_head.setStyleSheet("background-color:red;border-radius:5px;padding:2px;")
        self.label_head.adjustSize()
        self.label_head.setAutoFillBackground(True)

        vbox = QVBoxLayout()
        vbox.addWidget(self.label_head)
        vbox.addWidget(self.textbox)
        self.setLayout(vbox)

def main():
    myapp = QApplication(sys.argv)
    mywin = myList()
    mywin.show()
    sys.exit(myapp.exec_())

if __name__ == '__main__':
    main()

在此代码中,我只需要将背景颜色设置为文本区域(“公司名称”)。

答案
self.label_head = QLabel("<span style='color: #fff; background-color: #00f'>Company Name</span>")

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

class myList(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Frame Example")
        self.myui()

    def myui(self):

        self.textbox = QLineEdit()

        self.label_head = QLabel("<span style='color: #fff; background-color: #00f'>Company Name</span>") # <---

        self.textbox.setFixedSize(400,30)
        self.label_head.setFont(QFont("caliber",12,QFont.Bold))
        self.label_head.setAlignment(Qt.AlignCenter)
        self.label_head.setStyleSheet("background-color:red;border-radius:5px;padding:2px;")
        self.label_head.adjustSize()
        self.label_head.setAutoFillBackground(True)

        vbox = QVBoxLayout()
        vbox.addWidget(self.label_head)
        vbox.addWidget(self.textbox)
        self.setLayout(vbox)

def main():
    myapp = QApplication(sys.argv)
    mywin = myList()
    mywin.show()
    sys.exit(myapp.exec_())

if __name__ == '__main__':
    main()

enter image description here

以上是关于如何仅在QLabel中设置文本占用区域的背景色?的主要内容,如果未能解决你的问题,请参考以下文章

QLabel 中设置字体粗细时 QSS 和富文本的奇怪行为

SwiftUI 4.0 如何轻松在 iOS 16 中设置 TextEditor 背景色

SwiftUI 4.0 如何轻松在 iOS 16 中设置 TextEditor 背景色

SwiftUI 4.0 如何轻松在 iOS 16 中设置 TextEditor 背景色

如何在html中设置网页背景颜色

如何在 TTTAtributedLabel 中设置范围的背景颜色