изменение цвета шрифта QLabel
Долго искал в интернете, но не нашел, как изменить через методы QLabel шрифт, цвет шрифта и его кегль
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QFileDialog, \
QMessageBox, QStyle, QWidget, QPushButton, QLabel
class MyWidget(QWidget):
def __init__(self):
super(MyWidget, self).__init__()
self.setGeometry(250, 250, 300, 300)
self.setWindowTitle("a")
self.label1 = QLabel("text", self)
self.label1.setGeometry(10, 10, 100, 20)
self.btn1 = QPushButton("red", self)
self.btn1.setGeometry(100, 10, 50, 50)
self.btn2 = QPushButton("blue", self)
self.btn2.setGeometry(200, 10, 50, 50)
self.btn1.clicked.connect(self.make_red)
self.btn2.clicked.connect(self.make_blue)
def make_red(self):
pass
def make_blue(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec())
вот условный пример кода, где кнопка blue делает текст синим, а red красным. Как это сделать?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Текстовые виджеты Qt могут отображать форматированный текст, заданный с помощью подмножества разметки HTML 4. Виджеты, использующие QTextDocument, такие как QLabel и QTextEdit, могут отображать форматированный текст, указанный таким образом.
Можно так:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QFileDialog, \
QMessageBox, QStyle, QWidget, QPushButton, QLabel
class MyWidget(QWidget):
def __init__(self):
super(MyWidget, self).__init__()
self.setGeometry(250, 250, 300, 300)
self.setWindowTitle("a")
self.label1 = QLabel("text", self)
self.label1.setGeometry(10, 10, 100, 20)
self.btn1 = QPushButton("red", self)
self.btn1.setGeometry(100, 10, 50, 50)
self.btn2 = QPushButton("blue", self)
self.btn2.setGeometry(200, 10, 50, 50)
self.btn1.clicked.connect(self.make_red)
self.btn2.clicked.connect(self.make_blue)
def make_red(self):
self.label1.setText("<span style='color: #f00;'>text</span>")
def make_blue(self):
self.label1.setText("<span style='color: #00f;'>text</span>")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())
