Example #1
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        if not QSqlDatabase.isDriverAvailable("QSQLITE"):
            QMessageBox.critical(
                self, "Driver Error",
                "SQLite3 driver not available on this system")

        self.db = QSqlDatabase.addDatabase("QSQLITE")
        self.db.setDatabaseName("data.db")
        self.model = QSqlTableModel(self, self.db)
        self.model.setEditStrategy(QSqlTableModel.OnManualSubmit)
        self.table.setModel(self.model)
        self.table.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.actionImport.triggered.connect(self.import_csv)
        self.actionExport.triggered.connect(self.exoprt_csv)
        self.filterEdit.textEdited.connect(self.filter_rows)
        self.actionAbout.triggered.connect(self.about_dialog)
        self.addBtn.clicked.connect(self.insert_record)
        self.saveBtn.clicked.connect(self.commit_changes)
        self.undoBtn.clicked.connect(self.model.revertAll)
        self.delBtn.clicked.connect(self.delete_selected_rows)
        self.incBtn.clicked.connect(self.increment_selected)
        self.decBtn.clicked.connect(self.decrement_selected)
        self.init_db()