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

    return view
Exemple #2
0
    def __init__(self, model, tabName, parent=None):
        super(TableBase, self).__init__(parent)

        self.name = tabName

        self.view = QtGui.QTableView()
        self.view.setModel(model)
        self.view.setItemDelegateForColumn(0, AutoIncrement(self.view))
        self.view.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.view.setAlternatingRowColors(True)
        self.view.setSortingEnabled(True)
        self.view.setItemDelegate(QtSql.QSqlRelationalDelegate(self.view))

        ##Секция кнопок и их связей
        self.insertButton = QtGui.QPushButton(u"Вставить")
        self.insertButton.clicked.connect(self.insert)

        self.removeButton = QtGui.QPushButton(u"Удалить")
        self.removeButton.clicked.connect(self.remove)

        self.updateButton = QtGui.QPushButton(u"Обновить")
        self.updateButton.clicked.connect(self.update)

        self.saveButton = QtGui.QPushButton(u"Сохранить")
        self.saveButton.clicked.connect(self.save)

        self.undoButton = QtGui.QPushButton(u"Отменить")
        self.undoButton.clicked.connect(self.undo)

        self.popMenu = QtGui.QMenu(self.view)
        self.popMenu.addAction(u"Вставить", self.insert)
        self.popMenu.addAction(u"Удалить", self.remove)
        self.popMenu.addSeparator()
        self.popMenu.addAction(u"Обновить", self.update)
        self.popMenu.addAction(u"Сохранить", self.save)
        self.popMenu.addAction(u"Отменить", self.undo)
        self.view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.connect(
            self.view,
            QtCore.SIGNAL("customContextMenuRequested(const QPoint &)"),
            self.onContextMenu)

        viewselectionModel = self.view.selectionModel()
        viewselectionModel.selectionChanged.connect(self.updateActions)

        self.view.model().dataChanged.connect(self.dataChanged)

        self.hasUndo = False

        ##Сетка объектов на экране
        buttonsLayout = QtGui.QHBoxLayout()
        buttonsLayout.addWidget(self.insertButton)
        buttonsLayout.addWidget(self.removeButton)
        buttonsLayout.addStretch(1)
        buttonsLayout.addWidget(self.updateButton)
        buttonsLayout.addWidget(self.saveButton)
        buttonsLayout.addWidget(self.undoButton)

        self.mainLayout = QtGui.QVBoxLayout(self)
        self.mainLayout.addWidget(self.view)
        self.mainLayout.addLayout(buttonsLayout, 1)

        self.readSettings()
        self.updateActions()