¿Cómo puedo hacer que el color de fondo y el color de primer plano de un QLabel sean diferentes? (PyQt5)
Así que he estado tratando de buscar una manera de crear una ventana completamente negra y con texto rojo oscuro en ella. Así que intenté hacer esto a continuación.
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
import sys
app = QApplication(sys.argv)
window = QMainWindow()
window.setFixedSize(800, 200)
window.setWindowFlag(Qt.FramelessWindowHint)
texto_rojo_oscuro = QLabel(parent=window, text="Texto rojo oscuro.")
texto_rojo_oscuro.setFont(QFont("Times New Roman", 40))
texto_rojo_oscuro.setStyleSheet("color: red;")
texto_rojo_oscuro.adjustSize()
texto_rojo_oscuro.move(260, 65)
window.show()
app.exec_()
Esto me da una ventana con fondo blanco y texto rojo en ella. Pero quería un fondo negro, así que intenté agregar estas líneas:
fondo_negro = QLabel(parent=window)
fondo_negro.setStyleSheet("background-color: black;")
window.setCentralWidget(fondo_negro)
El resultado fue solo una ventana negra sin nada en ella. ¿Cómo puedo resolver este problema para obtener la ventana que quiero?
davy.ai
Para obtener la salida deseada, puedes establecer el color de fondo del QLabel que contiene el texto en negro en lugar de crear un nuevo QLabel para el fondo. A continuación se muestra el código modificado:
En el QLabel
dark_red_text
, agregamosbackground-color: black;
para cambiar el color de fondo a negro. También agregamosdark_red_text.setAlignment(Qt.AlignCenter)
para centrar el texto en la ventana.