Найти - Пользователи
Полная версия: PyQt5 Динамическое добавление элементов в ListWidget с чекбоксами
Начало » GUI » PyQt5 Динамическое добавление элементов в ListWidget с чекбоксами
1
Novator
Привет.
Пробую еще один интерфейс для моей хотелки, опять правда многого не понимаю, но пытаюсь
Итак, интерфейс рисовал в QtDesigner 5.14.1
Ситуация такая:
- надо загружать текст построчно в ListWidget с чекбоксами (потом планируется выбор элементов со списка для обработки)

Такой метод чего то может добавлять элемент (отрезок функции с файла интерфейса):
 ............................
        self.lstFileLine = QtWidgets.QListWidget(self.tabs_2)
...............................
        self.lstFileLine.setObjectName("lstFileLine")
        item = QtWidgets.QListWidgetItem()
        item.setText("1")
        item.setCheckState(QtCore.Qt.Checked)
        self.lstFileLine.addItem(item)
...............................
Но этот способ только для предустановленных значений.
У меня функция выглядит так:
 def open_verify_list(self):
		if self.txt_Input.toPlainText():
			text = self.txt_Input.toPlainText()
			text_spl = str(text).split ('\n')
			for i in range(len(text_spl)):
				if text_spl[i].startswith('"'):
					self.lstFileLine.addItem(text_spl[i])
			self.lbl_validline.setText(str(self.lstFileLine.count()))
			self.open_sql_file()
		else:
			self.lbl_filename.setText('Сначала откройте файл')
Вот и вопрос - как к этой строке
 self.lstFileLine.addItem(text_spl[i])
дописать чекбоксы?
PEHDOM
Novator
Вот и вопрос - как к этой строке
self.lstFileLine.addItem(text_spl)
дописать чекбоксы?

заменить ее на модифицирваный пример:

 item = QtWidgets.QListWidgetItem()
item.setText(text_spl[i])
item.setCheckState(QtCore.Qt.Checked)
self.lstFileLine.addItem(item)
Novator
PEHDOM
заменить ее на модифицирваный пример:
Да пробовал и так. Аварийное завершение работы скрипта
PEHDOM
Novator
Да пробовал и так. Аварийное завершение работы скрипта
ну так оно ж не просто так “аварийно закрывается”, ошибку какуюто должно писать, исключение. Что пишет?
Novator
PEHDOM
в консоли ничего, если вы об этом. Окошко с красным крестом и надпись “Аварийное завершение работы скрипта”
Novator
Вот наглядно
PEHDOM
Novator
в консоли ничего, если вы об этом. Окошко с красным крестом и надпись “Аварийное завершение работы скрипта”
так нужно не из IDE запускать, если она не умеет правильно исключения обрабатывать, а из консоли.
Novator
PEHDOM
Оказался не импортирован QtCore, хотя в файл дизайна он импортирован и вроде в главный его уже не надо вписывать…
Короче, флажки получил, а вот с текстом выделенных флажками элементов беда…
 self.lstFileLine.selectedItems()
какой то бред пишет…
 [<PyQt5.QtWidgets.QListWidgetItem object at 0x0424F5C8>]
или, если выделен один элемент
 []
PEHDOM
у вас в selectedItems обьекты типа QListWidgetItem то и текст храниться внути атрибута. Текст можно получитьвызвав для каждого QListWidgetItem метод text()
Novator
PEHDOM
QListWidgetItem метод text()
Что то все же не так…. Несмотря на количество выделенных чекбоксов, в обработке только строка, которая выделена. При таком раскладе эти чекбоксы вообще ни к чему
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB