Применение сразу нескольких методов к одной переменной
Есть ли такая возможность в PyQt применить сразу несколько методов к одной переменной, чтобы не вызывать её несколько раз?
self.Yaroslavl_label_name = QLabel(self)
self.Yaroslavl_label_name.setText('Ярославль')
self.Yaroslavl_label_name.setFont(self.general_font)
self.Yaroslavl_label_name.setStyleSheet(self.style_sheet_names)
self.Yaroslavl_label_name.setGeometry(15, 35, 150, 15)
self.Yaroslavl_label_name.setAlignment(Qt.AlignCenter)
Чтобы переменную Yaroslavl_label_name не вызывать шесть раз, а вызвать 1 раз, но применить все эти функции к ней.
К примеру:
self.Yaroslavl_label_name = (
QLabel(self)
.setText('Ярославль')
.set_Font()
)
И т.д.
Заранее спасибо!
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Пожалуйста, всегда предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.
То, что вы написали:
self.Yaroslavl_label_name.setText('Ярославль')
self.Yaroslavl_label_name.setFont(self.general_font)
self.Yaroslavl_label_name.setStyleSheet(self.style_sheet_names)
self.Yaroslavl_label_name.setGeometry(15, 35, 150, 15)
self.Yaroslavl_label_name.setAlignment(Qt.AlignCenter)
можно записать так:
self.Yaroslavl_label_name = QLabel(
self,
text="Ярославль",
objectName='yaroslavl_label_name',
geometry=QRect(15, 35, 350, 35),
alignment=Qt.AlignCenter,
styleSheet='''
background-color: green;
color: white;
font: 25pt "ariel" bold;
max-height: 50px;
'''
)
Вам решать, какую запись использовать.
import sys
from PyQt5.Qt import *
class Example(QWidget):
def __init__(self):
super().__init__()
self.Yaroslavl_label_name = QLabel(
self,
text="Ярославль",
objectName='yaroslavl_label_name',
geometry=QRect(15, 35, 350, 35),
alignment=Qt.AlignCenter,
styleSheet='''
background-color: green;
color: white;
font: 25pt "ariel" bold;
max-height: 50px;
'''
)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Example()
w.resize(600, 300)
w.show()
sys.exit(app.exec_())
