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)
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)
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)
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)
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)
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
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 } }
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)
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)
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)
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)
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)
def __init__(self, parent=None): QSqlRelationalDelegate.__init__(self, parent) self.star = QPixmap(os.path.join(__file__,"..","images","star.png"))
def __init__(self, parent=None): QSqlRelationalDelegate.__init__(self, parent)
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)
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))
def setModelData(self, editor, model, index): delegate = self.getDelegate(index) if delegate: delegate.setModelData(editor, model, index) else: QSqlRelationalDelegate.setModelData(self, editor, model, index)
def __init__(self, parent=None): QSqlRelationalDelegate.__init__(self, parent) self.star = QPixmap(":/images/star.png")
def paint(self, painter, option, index): delegate = self.getDelegate(index) if delegate: delegate.paint(painter, option, index) else: QSqlRelationalDelegate.paint(self, painter, option, index)
def __init__(self, parent=None): QSqlRelationalDelegate.__init__(self, parent) star_png = os.path.dirname(__file__) + "\images\star.png" self.star = QPixmap(star_png)