Форум сайта python.su
прошу помощи
#Создаю базу данных
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)
Офлайн
все украдено написано до нас
https://github.com/baoboa/pyqt5/tree/master/examples/sql
Офлайн
q789Ну так потренируйся на простом тексте, а потом уже преобразуй данные из БД в такой текст. QTableView не так прост, как тебе кажется. Ты и с простым текстом намаешься.
Не получается дальше вывести результат запроса в объект QTableView
Отредактировано py.user.next (Окт. 15, 2018 00:35:30)
Офлайн
Вывожу всю таблицу в 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)
Я в отчаянии
Офлайн