Применение сразу нескольких методов к одной переменной

Рейтинг: 1Ответов: 1Опубликовано: 04.06.2023

Есть ли такая возможность в 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()

        )

И т.д.
Заранее спасибо!

Ответы

▲ 2Принят

Пожалуйста, всегда предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.

То, что вы написали:

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_())

введите сюда описание изображения