@UNy

Агрегация в python?

Можете привести простой пример агрегации в питоне? Часто ли используют агрегацию при создании web приложений? Когда нужно использовать её а не наследование ?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
sanya84
@sanya84
Вот пример агрегации в питон в данном случае я не могу использовать наследование

import os
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtCore import Qt


class EnterName(QWidget):
    text_value = pyqtSignal(str)
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 50)
        self.setWindowTitle('Введите имя')
        

        self.button = QPushButton('Сохранить', self)
        self.button.clicked.connect(self.bEvent)
        self.button.move(120, 30)

        self.lEdid = QLineEdit(self)
        self.lEdid.setGeometry(0, 0, 300, 30)
        

    @pyqtSlot()
    def bEvent(self):
        self.text_value.emit(self.lEdid.text())
        self.hide()


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 420, 280)
        self.setWindowTitle('Exsample')
        self.setWindowModality(Qt.WindowModal)

        self.button = QPushButton('Имя', self)
        self.button.move(180, 260)
        self.button.clicked.connect(self.bEvent)

        self.tb = QTextBrowser(self)
        self.tb.setGeometry(0, 0, 420, 260)

        self.eName = EnterName()
        self.eName.text_value.connect(self.signalHandler)

    def bEvent(self):
        self.eName.show()

    def signalHandler(self, text):
        self.tb.append(text)

if __name__ == '__main__':

    app = QApplication(sys.argv)
    example = Example()
    example.show()
    sys.exit(app.exec_())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.
16 авг. 2018, в 12:52
100000 руб./за проект
16 авг. 2018, в 12:43
3000 руб./за проект
16 авг. 2018, в 12:11
100 руб./за проект