1 pièce(s) jointe(s)
[PyQt4] Checkbox non souhaitées dans les cellules de ma QTableView
Bonjour,
Je suis en train de me mettre à la création de GUI en Python grâce au package 'PyQt4'.
Ayant un certain nombre de données à afficher, je me suis tourner vers QTableView.
J'ai commencé avec des fonctions de bases pour insérer du texte dans les cellules, changer les headers, ajouter des lignes...etc
Tout fonctionne plus ou moins (Je ne m'attarde pas encore sur le coté "beau" mais plutôt "fonctionnel" pour l'instant :D).
Seul soucis, j'arrive bien à insérer du texte dans les cellules de ma QTableView, mais celui-ci est précédé d'une sorte de checkbox dont je ne comprend pas l'existence.
Voici mon code:
Code:
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
| import sys
from PyQt4 import QtGui, QtCore, uic
class myModel(QtCore.QAbstractTableModel):
def __init__(self, myData = [[]], headers = [], parent = None):
QtCore.QAbstractTableModel.__init__(self, parent)
self.myData = myData
self.headers = headers
def rowCount(self, parent):
return len(self.myData)
def columnCount(self, parent):
return len(self.myData[0])
def data(self, index, role):
row = index.row()
column = index.column()
value = self.myData[row][column]
return value
def insertRows(self, position, rows, parent = QtCore.QModelIndex()):
print('Inserting...')
self.beginInsertRows(parent, position, position + rows - 1)
defaultValues = ['Test' for i in range(self.columnCount(None))]
self.myData.insert(position, defaultValues)
self.endInsertRows()
return True
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
tableView = QtGui.QTableView()
tableView.show()
tableView.setGeometry(100,100,700,300)
rowCount = 4
columnCount = 6
headers = ["J" + str(i) for i in range(columnCount)]
tableData = [ [ str(i*j) for i in range(columnCount)] for j in range(rowCount)]
model = myModel(tableData, headers)
model.insertRows(0, 1)
tableView.setModel(model)
sys.exit(app.exec_()) |
Et une petit aperçu du rendu:
Pièce jointe 201573
A part dans cette ligne:
Code:
QtCore.QAbstractTableModel.__init__(self, parent)
Je ne vois pas d'où cela peut venir.
PS: Je suis sous Mac OSX Lion 10.7.5.
Merci de votre aide éventuelle et n'hésitez pas si vous avez des questions ou même de simple remarque sur ma façon de coder et comment améliorer certains points :)
Bonne soirée
Chipss