Beispiel #1
0
def createView(title, model):
    view = QtGui.QTableView()
    view.setModel(model)
    view.setItemDelegate(QtSql.QSqlRelationalDelegate(view))
    view.setWindowTitle(title)

    return view
Beispiel #2
0
    def create_table(self):
        self.tableWidget = QtGui.QTableView(self.centralwidget)

        self.tableWidget.setItemDelegate(
            QtSql.QSqlRelationalDelegate(self.tableWidget))
        self.tableWidget.setSelectionMode(QtGui.QTableView.SingleSelection)
        self.tableWidget.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.tableWidget.resizeColumnsToContents()
        self.tableWidget.resizeRowsToContents()
        self.tableWidget.horizontalHeader().setStretchLastSection(True)

        self.model = QModel(self)
        self.tableWidget.setModel(self.model)
Beispiel #3
0
    def __init__(self):
        super(Dialogo_Filtrar_Entes, self).__init__()
        self.dialogo = QtGui.QDialog()
        self.dialogo.setModal(True)
        self.dialogo.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.ui = Ui_Dialogo_Filtrar_Entes(self.dialogo)
        self.modeloBaseDatos = QtSql.QSqlRelationalTableModel(self, db)
        self.modeloBaseDatos.setTable("entes")
        self.modeloBaseDatos.setEditStrategy(
            QtSql.QSqlRelationalTableModel.OnFieldChange)
        #la segunda columna de entes es una clave foranea, especificamente idminsiterio de la tabla minsiterios y queremos
        #colocar en este modelo la columna nombre de esa tabla
        self.modeloBaseDatos.setRelation(
            2, QtSql.QSqlRelation('ministerios', 'idministerio', 'nombre'))
        self.modeloBaseDatos.select()

        #Creando el modelo para filtrar data
        self.filtro = QtGui.QSortFilterProxyModel()
        self.filtro.setSourceModel(self.modeloBaseDatos)
        self.filtro.setFilterKeyColumn(1)
        #Se coloca el modelo del proxy en lugar del modelo de base de datos
        self.ui.tableView.setModel(self.filtro)
        self.ui.tableView.hideColumn(0)
        self.ui.tableView.hideColumn(2)
        self.ui.tableView.setItemDelegate(
            QtSql.QSqlRelationalDelegate(self.ui.tableView))
        self.ui.tableView.setSortingEnabled(True)

        self.listaEntesFiltrados = [
        ]  #self.ui.tableView.selectionModel().selectedIndexes()

        #print(self.listaEntesFiltrados)
        #print("numero = " + str(self.filtro.rowCount()))
        for n in range(self.filtro.rowCount()):
            index = self.filtro.index(n, 1)
            self.listaEntesFiltrados.append(str(self.filtro.data(index)))

        self.ui.lineEdit.textChanged.connect(self.filtro.setFilterWildcard)
        self.ui.lineEdit.textChanged.connect(self.filtrarLista)
        self.ui.comboBox.currentIndexChanged.connect(self.cambiarFiltro)
Beispiel #4
0
    def create_table(self):
        self.tableWidget = QtGui.QTableView(self.centralwidget)

        self.tableWidget.setItemDelegate(
            QtSql.QSqlRelationalDelegate(self.tableWidget))
        self.tableWidget.setSelectionMode(QtGui.QTableView.SingleSelection)
        self.tableWidget.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.tableWidget.resizeColumnsToContents()
        self.tableWidget.resizeRowsToContents()
        self.tableWidget.horizontalHeader().setStretchLastSection(True)

        self.tableWidget.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Fixed)
        self.tableWidget.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.Fixed)
        self.tableWidget.horizontalHeader().setResizeMode(
            2, QtGui.QHeaderView.ResizeToContents)

        self.tableWidget.setSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)

        self.model = QModel(self)
        self.tableWidget.setModel(self.model)