Найти - Пользователи
Полная версия: python 3 + PyQT5 + sqlite3
Начало » Центр помощи » python 3 + PyQT5 + sqlite3
1
q789
прошу помощи
#Создаю базу данных
def createTable():
connection = sqlite3.connect(“BASE_INV.db”) #соединение с бд. если ее нет то создаем
cur = connection.cursor() #создаем объект курсора
#Создаем таблицу если ее нет
cur.execute('CREATE TABLE IF NOT EXISTS table_inv(tNO TEXT, ‘
’naimen TEXT) ‘)
connection.commit() #Записываем изменения
cur.close() #Удаляем курсор
connection.close() #Разрываем соединение с базой

class form(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.select)

def select(self):
connection = sqlite3.connect(“BASE_INV.db”)
cur = connection.cursor()
cur.execute(’SELECT * FROM table_inv')
#НЕ ПОЛУЧАЕТСЯ ДАЛЬШЕ ВЫВЕСТИ РЕЗУЛЬТАТ ЗАПРОСА В ОБЪЕКТ QTABLEVIEW ИЛИ QTABLEWIDGET

if __name__ == ‘__main__’:
app = QApplication(sys.argv)
frm = form()
createTable()
sys.exit(app.exec_())

vic57
все украдено написано до нас
https://github.com/baoboa/pyqt5/tree/master/examples/sql
py.user.next
q789
Не получается дальше вывести результат запроса в объект QTableView
Ну так потренируйся на простом тексте, а потом уже преобразуй данные из БД в такой текст. QTableView не так прост, как тебе кажется. Ты и с простым текстом намаешься.
q789
Вывожу всю таблицу в tableWidget вот так:
def stopscan(self):
self.db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName('BASE_INV.db')
self.model = QtSql.QSqlTableModel()
self.model.setTable('table_inv')
self.model.select()
self.model.setHeaderData(0, QtCore.Qt.Horizontal, “Номер”)
self.model.setHeaderData(1, QtCore.Qt.Horizontal, “Наименование”)
self.model.setHeaderData(2, QtCore.Qt.Horizontal, “Примечание”)
self.ui.tableWidget.setModel(self.model)

c SQL запросом ничего не работает
def startscan(self):
self.db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName('BASE_INV.db')
self.model = QtSql.QSqlTableModel()
self.model.setTable('table_inv')
self.model = QtSql.QSqlQueryModel()
self.model.setQuery(“SELECT * FROM table_inv”)
self.model.select()
self.model.setHeaderData(0, QtCore.Qt.Horizontal, “Инв.номер”)
self.model.setHeaderData(1, QtCore.Qt.Horizontal, “Наименование”)
self.model.setHeaderData(2, QtCore.Qt.Horizontal, “Примечание”)
self.ui.tableWidget.setModel(self.model)

Я в отчаянии
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