PyQt5 для отображения таблиц базы данных

195
28 марта 2019, 23:00

Нужно сделать приложение для базы данных для курсовой. Я могу вывести все таблицы, используя QTableWidget, но, может быть, есть специальный класс для отображения таблиц из бд? Чтобы была встроенная возможность добавления записей, сортировка и пр.? Чтобы примерно вот так было:

Так же буду чень благодарна, если у вас есть примеры, как можно сделать, если специального класса нет. Пока думаю так: прикручивать +1 строку к каждой таблице вручную, рядом кнопку "Обновить" -- для добавления новых записей. Если возможно прицепить на названия столбцов действия, то там поместить функцию сортировки. Если есть идеи, как это сделать лучше, то тоже буду им благодарна.

БД -- mysql, испоьзую PyQt5, потому что более-менее его знаю:

Answer 1

Есть такие классы - это QTableView и QSqlTableModel:

db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName("localhost")
db.setDatabaseName("some_database")
db.setUserName("username")
db.setPassword("password")
db.open()
model = QSqlTableModel()
model.setTable("some_table")
model.setEditStrategy(QSqlTableModel.OnFieldChange)
model.select()
tableView = QTableView()
tableView.setModel(model)
READ ALSO
Перенос базы данных с PhpMyAdmin 5.6 на 5.1 (#1273 - Unknown collation: 'utf8mb4_unicode_ci')

Перенос базы данных с PhpMyAdmin 5.6 на 5.1 (#1273 - Unknown collation: 'utf8mb4_unicode_ci')

Всем привет, такой вот вопросМне нужно перенести базу данных с одного хоста на другой

186
В чем практическая польза FOREIGN KEY в таблицах MySQL?

В чем практическая польза FOREIGN KEY в таблицах MySQL?

Не понимаю в чем практическая польза FOREIGN KEY для таблицНапример, у меня есть три таблицы:

158
fluentPDO записи за последние 24 часа?

fluentPDO записи за последние 24 часа?

На сайте используется fluentPDOКаким кодом можно вытащить записи за последние 24 часа? В базе created_at (CURRENT_TIMESTAMP)

211