コード例 #1
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def createEditor(self, aParent, option, index):
     delegate = self.getDelegate(index)
     if delegate:
         return delegate.createEditor(aParent, option, index)
     else:
         return QSqlRelationalDelegate.createEditor(self, aParent, option,
                                                    index)
コード例 #2
0
ファイル: bookdelegate.py プロジェクト: z199416/MayaScript
 def sizeHint(self, option, index):
     """ Returns the size needed to display the item in a QSize object. """
     if index.column() == 5:
         size_hint = QSize(5 * self.star.width(), self.star.height()) + QSize(1, 1)
         return size_hint
     # Since we draw the grid ourselves:
     return QSqlRelationalDelegate.sizeHint(self, option, index) + QSize(1, 1)
コード例 #3
0
ファイル: reference_dialogs.py プロジェクト: iliakan/jal
 def configureView(self):
     super().configureView()
     self._lookup_delegate = QSqlRelationalDelegate(self._view)
     self._view.setItemDelegateForColumn(self.fieldIndex("country_id"),
                                         self._lookup_delegate)
     self._view.setItemDelegateForColumn(self.fieldIndex("src_id"),
                                         self._lookup_delegate)
コード例 #4
0
    def paint(self, painter, option, index):
        """ Paint the items in the table.

            If the item referred to by <index> is a StarRating, we
            handle the painting ourselves. For the other items, we
            let the base class handle the painting as usual.

            In a polished application, we'd use a better check than
            the column number to find out if we needed to paint the
            stars, but it works for the purposes of this example.
        """
        if index.column() != 5:
            # Since we draw the grid ourselves:
            opt = copy.copy(option)
            opt.rect = option.rect.adjusted(0, 0, -1, -1)
            QSqlRelationalDelegate.paint(self, painter, opt, index)
        else:
            model = index.model()
            if option.state & QStyle.State_Enabled:
                if option.state & QStyle.State_Active:
                    color_group = QPalette.Normal
                else:
                    color_group = QPalette.Inactive
            else:
                color_group = QPalette.Disabled

            if option.state & QStyle.State_Selected:
                painter.fillRect(
                    option.rect,
                    option.palette.color(color_group, QPalette.Highlight))
            rating = model.data(index, Qt.DisplayRole)
            width = self.star.width()
            height = self.star.height()
            x = option.rect.x()
            y = option.rect.y() + (option.rect.height() / 2) - (height / 2)
            for i in range(rating):
                painter.drawPixmap(x, y, self.star)
                x += width

            # Since we draw the grid ourselves:
            self.drawFocus(painter, option, option.rect.adjusted(0, 0, -1, -1))

        pen = painter.pen()
        painter.setPen(option.palette.color(QPalette.Mid))
        painter.drawLine(option.rect.bottomLeft(), option.rect.bottomRight())
        painter.drawLine(option.rect.topRight(), option.rect.bottomRight())
        painter.setPen(pen)
コード例 #5
0
    def __init__(self, fil=None, parent=None):
        super(ScoreMgrWindow, self).__init__(parent)
        self.setupUi(self)

        print(fil)
        self.model = ScoreModel(fil=fil, parent=self)
        self.tableView.setModel(self.model.model)
        self.delegate = QSqlRelationalDelegate(self.tableView)
        self.tableView.setItemDelegate(self.delegate)
コード例 #6
0
ファイル: bookdelegate.py プロジェクト: z199416/MayaScript
    def createEditor(self, parent, option, index):
        if index.column() != 4:
            return QSqlRelationalDelegate.createEditor(self, parent, option, index)

        # For editing the year, return a spinbox with a range from -1000 to 2100.
        spinbox = QSpinBox(parent)
        spinbox.setFrame(False)
        spinbox.setMaximum(2100)
        spinbox.setMinimum(-1000)
        return spinbox
コード例 #7
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
    def __init__(self, parent=None):
        QSqlRelationalDelegate.__init__(self, parent)

        self.timestamp_delegate = TimestampDelegate()
        self.category_delegate = CategoryDelegate()
        self.tag_delegate = TagDelegate()
        self.float_delegate = FloatDelegate()

        self.delegates = {
            'actions': {
                1: self.timestamp_delegate
            },
            'action_details': {
                2: self.category_delegate,
                3: self.tag_delegate,
                4: self.float_delegate,
                5: self.float_delegate
            },
            'dividends': {
                1: self.timestamp_delegate,
                5: self.float_delegate,
                6: self.float_delegate
            },
            'trades': {
                1: self.timestamp_delegate,
                2: self.timestamp_delegate,
                7: self.float_delegate,
                8: self.float_delegate,
                9: self.float_delegate,
                10: self.float_delegate,
                11: self.float_delegate
            },
            'transfers_combined': {
                2: self.timestamp_delegate,
                5: self.timestamp_delegate,
                8: self.timestamp_delegate,
                10: self.float_delegate,
                11: self.float_delegate,
                12: self.float_delegate
            }
        }
コード例 #8
0
    def __init__(self, parent):
        super(TmplMgrWindow, self).__init__(parent)
        self.setupUi(self)

        self.backButton.clicked.connect(self.close)
        self.removeButton.clicked.connect(self.remove)
        self.saveButton.clicked.connect(self.save)
        self.viewButton.clicked.connect(self.view)

        self.tmpl = TmplModel(self)
        self.tableView.setModel(self.tmpl.model)
        self.delegate = QSqlRelationalDelegate(self.tableView)
        self.tableView.setItemDelegate(self.delegate)
コード例 #9
0
ファイル: reference_dialogs.py プロジェクト: iliakan/jal
    def configureView(self):
        super().configureView()
        self._view.setColumnWidth(
            self.fieldIndex("timestamp"),
            self._view.fontMetrics().width("00/00/0000 00:00:00") * 1.1)
        self._view.setColumnWidth(self.fieldIndex("quote"), 100)

        self._lookup_delegate = QSqlRelationalDelegate(self._view)
        self._view.setItemDelegateForColumn(self.fieldIndex("asset_id"),
                                            self._lookup_delegate)
        self._timestamp_delegate = TimestampDelegate(parent=self._view)
        self._view.setItemDelegateForColumn(self.fieldIndex("timestamp"),
                                            self._timestamp_delegate)
コード例 #10
0
    def __init__(self, parent):
        super(TmplSelectDialog, self).__init__(parent)
        self.setupUi(self)

        self.cancelButton.clicked.connect(self.close)
        self.okButton.clicked.connect(self.ok)
        self.okButton.setDisabled(True)

        self.tmpl = TmplModel(self)
        self.tableView.setModel(self.tmpl.model)
        self.delegate = QSqlRelationalDelegate(self.tableView)
        self.tableView.setItemDelegate(self.delegate)

        self.tableView.clicked.connect(self.on_tableView_clicked)
コード例 #11
0
ファイル: reference_dialogs.py プロジェクト: iliakan/jal
    def configureView(self):
        super().configureView()
        self._view.setColumnWidth(self.fieldIndex("active"), 32)
        self._view.setColumnWidth(
            self.fieldIndex("reconciled_on"),
            self._view.fontMetrics().width("00/00/0000 00:00:00") * 1.1)
        self._view.setColumnWidth(self.fieldIndex("country_id"), 50)

        self._lookup_delegate = QSqlRelationalDelegate(self._view)
        self._view.setItemDelegateForColumn(self.fieldIndex("currency_id"),
                                            self._lookup_delegate)
        self._view.setItemDelegateForColumn(self.fieldIndex("country_id"),
                                            self._lookup_delegate)
        self._peer_delegate = PeerSelectorDelegate()
        self._view.setItemDelegateForColumn(self.fieldIndex("organization_id"),
                                            self._peer_delegate)
        self._timestamp_delegate = TimestampDelegate(parent=self._view)
        self._view.setItemDelegateForColumn(self.fieldIndex("reconciled_on"),
                                            self._timestamp_delegate)
        self._bool_delegate = BoolDelegate(self._view)
        self._view.setItemDelegateForColumn(self.fieldIndex("active"),
                                            self._bool_delegate)
コード例 #12
0
    def __init__(self):
        super().__init__()

        self.table = QTableView()

        self.model = QSqlRelationalTableModel(db=db)

        self.table.setModel(self.model)

        # tag::setRelation[]
        self.model.setTable("Track")
        self.model.setRelation(2, QSqlRelation("Album", "AlbumId", "Title"))
        self.model.setRelation(3, QSqlRelation("MediaType", "MediaTypeId", "Name"))
        self.model.setRelation(4, QSqlRelation("Genre", "GenreId", "Name"))

        delegate = QSqlRelationalDelegate(self.table)
        self.table.setItemDelegate(delegate)

        self.model.select()
        # end::setRelation[]

        self.setMinimumSize(QSize(1024, 600))
        self.setCentralWidget(self.table)
コード例 #13
0
ファイル: bookdelegate.py プロジェクト: z199416/MayaScript
 def __init__(self, parent=None):
     QSqlRelationalDelegate.__init__(self, parent)
     self.star = QPixmap(os.path.join(__file__,"..","images","star.png"))
コード例 #14
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def __init__(self, parent=None):
     QSqlRelationalDelegate.__init__(self, parent)
コード例 #15
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def setEditorData(self, editor, index):
     amount = index.model().data(index, Qt.EditRole)
     if amount:
         editor.setText(self.formatFloatLong(float(amount)))
     else:
         QSqlRelationalDelegate.setEditorData(self, editor, index)
コード例 #16
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def setEditorData(self, editor, index):
     timestamp = index.model().data(index, Qt.EditRole)
     if timestamp == '':
         QSqlRelationalDelegate.setEditorData(self, editor, index)
     else:
         editor.setDateTime(datetime.fromtimestamp(timestamp))
コード例 #17
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def setModelData(self, editor, model, index):
     delegate = self.getDelegate(index)
     if delegate:
         delegate.setModelData(editor, model, index)
     else:
         QSqlRelationalDelegate.setModelData(self, editor, model, index)
コード例 #18
0
 def __init__(self, parent=None):
     QSqlRelationalDelegate.__init__(self, parent)
     self.star = QPixmap(":/images/star.png")
コード例 #19
0
ファイル: mapper_delegate.py プロジェクト: uMag/ledger
 def paint(self, painter, option, index):
     delegate = self.getDelegate(index)
     if delegate:
         delegate.paint(painter, option, index)
     else:
         QSqlRelationalDelegate.paint(self, painter, option, index)
コード例 #20
0
 def __init__(self, parent=None):
     QSqlRelationalDelegate.__init__(self, parent)
     star_png = os.path.dirname(__file__) + "\images\star.png"
     self.star = QPixmap(star_png)