Загрузка данных


from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QWidget, QLabel, QPushButton, QListWidget, QListWidgetItem, QLineEdit, QHBoxLayout, QVBoxLayout
import random


class RandomNumber(QWidget):
    def __init__(self):
        super().__init__()
        self.num_list = []
        self.label1 = QLabel("Введите количество чисел")
        self.entry = QLineEdit()
        self.entry.returnPressed.connect(self.fill_nums)
        layout1 = QHBoxLayout()
        layout1.addWidget(self.label1)
        layout1.addWidget(self.entry)

        layout = QVBoxLayout()

        self.numbers = QListWidget()
        self.search_btn = QPushButton("Найти")
        self.search_btn.clicked.connect(self.count)
        self.pos_result = QLabel("Положительных чисел")
        self.neg_result = QLabel("Отрицательных чисел")
        self.null_result = QLabel("Количество нулей")

        layout.addLayout(layout1)
        layout.addWidget(self.numbers)
        layout.addWidget(self.search_btn)
        layout.addWidget(self.pos_result)
        layout.addWidget(self.neg_result)
        layout.addWidget(self.null_result)
        self.setLayout(layout)

    def fill_nums(self):
        n = self.entry.text().strip()
        self.num_list = [random.randint(-50, 50) for _ in range(int(n))]
        for i, r in enumerate(self.num_list):
            self.numbers.addItem(str(r))


    def count(self):
        pos = 0
        neg = 0
        nul = 0
        for i in self.num_list:
            if i > 0:
                pos += 1
            elif i < 0:
                neg += 1
            else:
                nul += 1
        self.pos_result.setText(f"Положительных чисел: {pos}")
        self.neg_result.setText(f"Отрицательных чисел: {neg}")
        self.null_result.setText(f"Количество нулей: {nul}")


from PyQt6.QtWidgets import QWidget, QApplication
import sys
from okno import RandomNumber

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = RandomNumber()
    window.show()
    sys.exit(app.exec())