Lomonos1917
@Lomonos1917
Делаю IRE для предприятия с нуля.

Как выбирать только один элемент из таблицы Pyqt, cбрасывая предыдущий выбор?

В графическом окне на 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


Есть ли способ не выбрать больше одной заявки так, чтобы при новом выборе не учитывался старый?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы