Как установить цвет фона только для занимаемой области текста в QLabel? - PullRequest
2 голосов
/ 28 мая 2020

Как установить цвет фона только занимаемой области текста в 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()

В этом коде мне нужен цвет фона только для текстовой области ("Название компании ").

1 Ответ

2 голосов
/ 28 мая 2020

Попробовать

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...