簡體   English   中英

如何使 QLabel 的背景顏色和前景色不同? (PyQt5)

[英]How can I make it so that the background color and foreground color of a QLabel are different? (PyQt5)

所以我一直在嘗試尋找一種方法來創建一個全黑的 window,其中包含深紅色文本。 所以我試着在下面這樣做。

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)
dark_red_text = QLabel(parent=window, text="Dark red text.")

dark_red_text.setFont(QFont("Times New Roman", 40))
dark_red_text.setStyleSheet("color: red;")
dark_red_text.adjustSize()
dark_red_text.move(260, 65) 
window.show()
app.exec()  

這給了我一個帶有白色背景和紅色文本的 window。 但我想要黑色背景,所以我嘗試添加這些行:

black_background = QLabel(parent=window)
black_background.setStyleSheet("background-color: black;")
window.setCentralWidget(black_background)

輸出只是一個黑色的 window,上面什么都沒有。 我該如何解決這個問題,以便獲得我想要的 window?

請注意,當您添加 'black_background' Qlabel 時,您只是創建了一個新的 label,它將放置在 'dark_red_text' 上,所以這個被隱藏了。 一種可能的解決方案是在 window 上設置背景顏色,在“dark_red_text”Qlabel 上設置文本顏色。 默認情況下,“dark_red_text”將繼承父窗口小部件的背景顏色,在本例中為“窗口”。

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)
window.setStyleSheet("background-color: black")
dark_red_text = QLabel(parent=window, text="Dark red text.")
dark_red_text.setFont(QFont("Times New Roman", 40))
dark_red_text.setStyleSheet("color: red")
dark_red_text.adjustSize()
dark_red_text.move(260, 65) 
window.show()
app.exec() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM