Я не уверен, правильно ли я понял ваш вопрос, но я предполагаю, что при нажатии одной из двух кнопок вы хотите задать текст соответствующей метки worker_name
. Если это так, то одним из способов достижения этого является добавление кнопок и меток в качестве ключей и значений в словарь и использование self.dct[self.sender()]
для извлечения метки при нажатии кнопки, например,
class MyWidget(QtWidgets.QWidget):
def __init__(self, ...):
...
# dictionary for storing button-label pairs
self.label_dct = {}
self.add_workers()
def add_workers(self):
for i in range(10):
worker_label = QtWidgets.QLabel('worker name')
assign_button = QtWidgets.QPushButton('Assign')
self.label_dct[assign_button] = worker_label
# rest of setup
assign_button.clicked.connect(self.set_label)
@pyqtSlot()
def set_label(self):
button = self.sender()
label = self.label_dct[button]
label.setText("John Doe")