Files
2025-05-20 11:57:43 -04:00

44 lines
1.2 KiB
Python

#!/usr/bin/env python
import sys
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
from PyQt5.QtWidgets import QMainWindow, QApplication
from ui_tablewidget import Ui_TableWidget
class TableWidgetMain(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_TableWidget()
self.ui.setupUi(self)
self._setupDB()
self.ui.bt_save.clicked.connect(self._save_changes)
self.ui.bt_revert.clicked.connect(self._revert)
def _setupDB(self):
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName('../../DATA/presidents.db')
if not db.open():
raise Error("Could not open the database")
self.ui.model = QSqlTableModel(self, db)
self.ui.model.setTable("presidents")
self.ui.model.EditStrategy(QSqlTableModel.OnManualSubmit)
self.ui.tableView.setModel(self.ui.model)
self.ui.tableView.setSortingEnabled(True)
def _save_changes(self):
self.ui.model.submitAll()
def _revert(self):
self.ui.model.revertAll()
self.ui.model.revert()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = TableWidgetMain()
main.show()
sys.exit(app.exec_())