1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
from pysqlite2 import dbapi2 as sqlite3
import os
import sys
from PyQt4 import QtCore,QtGui,QtSql
from untitled import Ui_MainWindow
NOM,PRENOM,NAISSANCE = range(3)
class fen(QtGui.QMainWindow,Ui_MainWindow):
FIRST, PREV, NEXT, LAST = range(4)
def __init__(self,parent=None):
super(fen, self).__init__(parent)
self.setupUi(self)
self.model=QtSql.QSqlRelationalTableModel(self)
self.model.setTable("clients")
self.model.select()
self.mapper = QtGui.QDataWidgetMapper(self)
self.mapper.setSubmitPolicy(QtGui.QDataWidgetMapper.ManualSubmit)
self.mapper.setModel(self.model)
self.mapper.setItemDelegate(QtSql.QSqlRelationalDelegate(self))
self.mapper.addMapping(self.lineEdit_2, NOM)
self.mapper.addMapping(self.lineEdit_3, PRENOM)
self.mapper.addMapping(self.lineEdit_4, NAISSANCE)
self.mapper.toFirst()
self.connect(self.pushButton_first, QtCore.SIGNAL("clicked()"),
lambda: self.saveRecord(fen.FIRST))
self.connect(self.pushButton_prev, QtCore.SIGNAL("clicked()"),
lambda: self.saveRecord(fen.PREV))
self.connect(self.pushButton_next, QtCore.SIGNAL("clicked()"),
lambda: self.saveRecord(fen.NEXT))
self.connect(self.pushButton_last, QtCore.SIGNAL("clicked()"),
lambda: self.saveRecord(fen.LAST))
def saveRecord(self, where):
row = self.mapper.currentIndex()
self.mapper.submit()
if where == fen.FIRST:
row = 0
elif where == fen.PREV:
row = 0 if row <= 1 else row - 1
elif where == fen.NEXT:
row += 1
if row >= self.model.rowCount():
row = self.model.rowCount() - 1
elif where == fen.LAST:
row = self.model.rowCount() - 1
self.mapper.setCurrentIndex(row) |
Partager