Я смущен тем, как я могу использовать определенные атрибуты, возвращаемые после запроса в локальную базу данных SQLite. Я могу заполнить qlistwidget одним из атрибутов, но я не знаю, как получить другие атрибуты, когда пользователь нажимает на элемент listwidget.PyQT: Использование атрибутов из SQLite-запроса
Следующий код был создан с помощью Эрика, который предварительно заполнит некоторые из сигналов и слотов
@pyqtSignature("QString")
def on_searchText_textEdited(self, p0):
"""
Slot documentation goes here.
"""
# TODO: not implemented yet
self.resultsList.clear()
self.searchItem = self.searchText.text()
self.search()
@pyqtSignature("QListWidgetItem*")
def on_resultsList_itemClicked(self, item):
"""
Slot documentation goes here.
"""
# TODO: not implemented yet
result = str(item.text())
QMessageBox.about(self, "Clicked Item", "%s")%(result)
@pyqtSignature("")
def on_cancelButton_clicked(self):
"""
Slot documentation goes here.
"""
self.close()
def search(self):
conn = sqlite3.connect("C:\\file.sqlite")
cur = conn.cursor()
sqlqry = "SELECT name, number, size FROM lookup WHERE name LIKE '%s' LIMIT 100;"%("%"+self.searchItem+"%")
try:
c = cur.execute(sqlqry)
data = c.fetchall()
for i in data:
self.resultsList.addItem(i[0])
except sqlite3.Error, e:
QMessageBox.about(self, "Error message", "Error")
Так что мой resultsList получает заполняется, когда пользователь вводит текст в строку ввода, но тогда, когда пользователь нажимает на элементе Я получаю сообщение об ошибке в сообщении с сообщением о NoneType и str.
Однако, мне действительно нужно использовать второй и третий атрибуты для где-то еще в моем коде.
Как я могу выбрать эти атрибуты через сигнал itemClicked и создать две новые переменные?
я надеюсь, что имеет смысл, это был длинный день идет по кругу