В графическом окне на PyQT есть таблица. Кликнув по нему, пользователь получает специальную одну единственную переменную (номер), с которым дальше работает в других окнах. Но после выбора ( а также после завершения действия с номером) и при последующем выборе другого элемента выбранный ранее номер не сбрасывается (затем программа выдаёт предупреждение) и алгоритм дальше не идёт, не может повториться пользователем. Ниже функция, которая это всё описывает:
def check_tables_items(func):
def wrapper(self):
tables = [
self.ui.OpenRequestsForRepairsTableWidget,
self.ui.OpenRequestsForTOTableWidget,
self.ui.ClosesRequestsForRepairsTableWidget,
self.ui.ClosesRequestsForTOTableWidget
]
records = []
for table in tables:
items = table.selectedItems()
for item in items:
item_text = item.text()
if item_text.isnumeric() == True and len(item_text) > 10:
records.append(item_text)
if len(records) > 1:
MessageBox(text = 'Вы выбрали больше одной заявки!', button_1 = 'Сейчас исправлю...')
elif len(records) == 1:
record = records[0]
func(self, record)
elif len(records) == 0:
MessageBox(text = 'Вы не выбрали заявку!', button_1 = 'Сейчас исправлю...')
return wrapper
Есть ли способ не выбрать больше одной заявки так, чтобы при новом выборе не учитывался старый?