То есть добавлять 91 кнопку руками не лень было?)
Как-то так можно:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QPushButton
class Main(QWidget):
def __init__(self):
super(Main, self).__init__()
# список в котором будут кнопки
self.buttons = []
# компоновщик "сетка"
self.grid = QGridLayout()
self.setLayout(self.grid)
for row in range(9):
for column in range(9):
btn = QPushButton()
#
btn.setObjectName(f'QPushButton_{row}_{column}')
self.buttons.append(btn)
# добавляем кнопку на сетку в позицию строка, столбец
self.grid.addWidget(btn, row, column)
# связываем сигнал со слотом
btn.clicked.connect(self._onButtonClick)
def _onButtonClick(self):
# self.sender() - то, что породило сигнал
print(f'click on {self.sender().objectName()} button')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Main()
ex.show()
sys.exit(app.exec_())