def __init__(self, hidden_count, reconstruct_func): super().__init__() self.layout = QGridLayout(self) self.reconstruct_func = reconstruct_func self.labels = [] self.hidden_count = hidden_count wh = math.ceil(math.sqrt(hidden_count)) for i in range(hidden_count): label = QPushButton(self) label.sdr_index = i label.setFixedSize(16, 16) label.clicked.connect(self.toggle_sdr) self.labels.append(label) self.layout.addWidget(label, i % wh, i // wh) self.set_sdr(np.zeros(hidden_count)) self.setLayout(self.layout)