Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 13, 2018 16:18:40

q789
Зарегистрирован: 2018-10-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

python 3 + PyQT5 + sqlite3

прошу помощи
#Создаю базу данных
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_())

Отредактировано q789 (Окт. 13, 2018 16:23:50)

Офлайн

#2 Окт. 13, 2018 20:22:55

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

python 3 + PyQT5 + sqlite3

все украдено написано до нас
https://github.com/baoboa/pyqt5/tree/master/examples/sql

Офлайн

#3 Окт. 15, 2018 00:17:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

python 3 + PyQT5 + sqlite3

q789
Не получается дальше вывести результат запроса в объект QTableView
Ну так потренируйся на простом тексте, а потом уже преобразуй данные из БД в такой текст. QTableView не так прост, как тебе кажется. Ты и с простым текстом намаешься.



Отредактировано py.user.next (Окт. 15, 2018 00:35:30)

Офлайн

#4 Окт. 16, 2018 06:40:24

q789
Зарегистрирован: 2018-10-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

python 3 + PyQT5 + sqlite3

Вывожу всю таблицу в 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)

Я в отчаянии

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version