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 51 52 53 54 55
| import sys
from PySide import QtGui, QtCore, QtSql
class Frame(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.resize(600,500)
self.setWindowTitle('Application simple')
self.setFont(QtGui.QFont("Verdana", 18, QtGui.QFont.Bold))
self.crea()
def crea(self):
self.tab = QtGui.QTableWidget(self)
#tab = QtGui.QTableView(self)
self.tab.setGeometry(10, 10, 300, 200)
self.tab.setColumnCount(2)
self.tab.setRowCount(3)
self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
self.db.setDatabaseName("essai_qtablewidget.s3db")
self.db.open()
self.model = QtSql.QSqlTableModel()
self.model.setTable("toto")
self.model.select()
nb_row = self.model.rowCount()
a = 0
liste = []
while a < nb_row:
record = self.model.record(a)
contact = str(record.value(0)) + " " + str(record.value(1))
liste.append(contact)
a +=1
liste.sort()
for i in liste:
globals()['btn'+str(liste.index(i))] = QtGui.QPushButton("Supprimer")
self.tab.setCellWidget(liste.index(i), 1, globals()['btn'+str(liste.index(i))])
globals()['label'+str(liste.index(i))] = QtGui.QLabel(str(i))
self.tab.setCellWidget(liste.index(i), 0, globals()['label'+str(liste.index(i))])
globals()['btn'+str(liste.index(i))].clicked.connect(self.act)
def act(self):
print self.tab.currentRow()
app = QtGui.QApplication(sys.argv)
frame = Frame()
frame.show()
sys.exit(app.exec_()) |
Partager