# Copyright (C) 2013-2022 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # from qtsalome import * class TableEditor(QDialog): def __init__(self, table,parent): QDialog.__init__(self) self.setModal(False) self.model= QSqlTableModel() self.table=table self.model.setTable(table.nom); self.model.setEditStrategy(QSqlTableModel.OnManualSubmit) self.model.select() self.view = QTableView(self) self.view.setModel(self.model) quitButton=QPushButton("Quit") buttonBox=QDialogButtonBox(Qt.Vertical) buttonBox.addButton(quitButton, QDialogButtonBox.RejectRole); quitButton.clicked.connect(self.close) mainLayout = QHBoxLayout(self) mainLayout.addWidget(self.view) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout) self.setWindowTitle("Table des " + table.nom) self.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding) self.view.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding) self.view.resizeColumnsToContents() self.view.adjustSize() self.adjustSize() self.view.pressed[QModelIndex].connect(self.donneLigne) self.view.itemPressed[QTableWidgetItem].connect(self.donneLigne) self.view.clicked[QModelIndex].connect(self.donneLigne) self.view.clicked.connect(self.donneLigne) self.view.pressed.connect(self.donneLigne) def donneLigne(self): print("jjjjjjjjjjjjjjjj") def setTitle(self): fields=self.table.getFields() index=0 for f in fields: self.model.setHeaderData(index,Qt.Horizontal,fields) index=index+1 #void TableEditor::submit() #{ # model->database().transaction(); # if (model->submitAll()) { # model->database().commit(); # } else { # model->database().rollback(); # QMessageBox::warning(this, tr("Cached Table"), # tr("The database reported an error: %1") # .arg(model->lastError().text())); # } #} # submitButton = new QPushButton(tr("Submit")); # submitButton->setDefault(true); # revertButton = new QPushButton(tr("&Revert")); # buttonBox->addButton(submitButton, QDialogButtonBox::ActionRole); # buttonBox->addButton(revertButton, QDialogButtonBox::ActionRole); # connect(submitButton, SIGNAL(clicked()), this, SLOT(submit())); # connect(revertButton, SIGNAL(clicked()), model, SLOT(revertAll())); # quitButton = new QPushButton(tr("Quit"));