Python源码示例:PyQt5.QtCore.Qt.BackgroundRole()
示例1
def data(self, index, role = Qt.DisplayRole):
if not index.isValid():
return None
obj = self.getObject(index)
prop = self.getProperty(index)
if role == Qt.BackgroundRole:
return color(obj.D)
if role == Qt.TextAlignmentRole:
return Qt.AlignCenter
if (obj is None) or (prop is None):
return None
try:
if role in [Qt.DisplayRole, Qt.EditRole]:
return getAttrRecursive(obj, prop['attr'])
except:
return None
return None
示例2
def data(self, index, role=None):
value = self._anchor_positions[index.row()][index.column()]
if index.isValid():
if index.column() == 0:
if role == Qt.CheckStateRole:
return QVariant(value)
elif index.column() == 1:
if role == Qt.DisplayRole:
return QVariant(value)
else:
if role == Qt.DisplayRole:
return QVariant('%.2f' % (value))
elif role == Qt.EditRole:
return QVariant(value)
elif role == Qt.BackgroundRole:
return self._get_background(index.row(), index.column())
return QVariant()
示例3
def data(self, index, role):
"""Re-implemented method to get the data for a given index and role"""
node = index.internalPointer()
parent = node.parent
if not parent:
if role == Qt.DisplayRole and index.column() == 0:
return node.name
elif role == Qt.DisplayRole:
if index.column() == 0:
return node.name
if index.column() == 1:
return node.ctype
if index.column() == 2:
return node.access
if index.column() == 3:
return node.value
elif role == Qt.EditRole and index.column() == 3:
return node.value
elif (role == Qt.BackgroundRole and index.column() == 3 and
node.is_updating):
return self._red_brush
return None
示例4
def data(self, index, role):
'''The data stored under the given role for the item referred
to by the index.
Args:
index (:obj:`QtCore.QModelIndex`): Index
role (:obj:`Qt.ItemDataRole`): Default :obj:`Qt.DisplayRole`
Returns:
data
'''
if not index.isValid():
return None
# Color background
if role == Qt.BackgroundRole:
metadata_id = index.data(FIRSTUI.ROLE_ID)
address = index.data(FIRSTUI.ROLE_ADDRESS)
if (metadata_id and address
and ((address, metadata_id) in self.ids_selected)):
return FIRST.color_selected
elif (metadata_id and address
and ((address, metadata_id) in self.applied_ids)):
return FIRST.color_applied
# Data has been updated since original
elif not metadata_id:
return FIRST.color_unchanged
# Return the default color
return FIRST.color_default
return super(FIRST.Model.Check, self).data(index, role)
示例5
def data(self,index,role):
idx = index.row()
if role == Qt.DisplayRole:
return self.nativedata[idx][self.key]
elif role == Qt.ForegroundRole:
return QtGui.QBrush(Qt.black)
elif role == Qt.BackgroundRole:
return QtGui.QBrush(QtGui.QColor(self.nativedata[idx].get('color',Qt.white)))
elif role == Qt.CheckStateRole:
return self._checkstate.get(key,Qt.CheckState.Unchecked)
示例6
def data(self,index,role):
if index.isValid():
key = self._row_to_key[index.row()]
if role == Qt.DisplayRole:
if self.key is None:
return key
else:
return self.nativedata[key][self.key]
elif role == Qt.ForegroundRole:
return QtGui.QBrush(Qt.black)
elif role == Qt.BackgroundRole:
return QtGui.QBrush(QtGui.QColor(self.nativedata[key].get('color',Qt.white)))
elif role == Qt.CheckStateRole:
return self._checkstate.get(key,Qt.CheckState.Unchecked)
示例7
def data(self, index, role):
if not index.isValid():
return None
if not (0 <= index.row() < self.rowCount()):
return None
elif role == Qt.FontRole:
return QtGui.QFont().setPointSize(30)
elif role == Qt.DecorationRole and index.column() == 0:
return None
elif role == Qt.TextAlignmentRole:
return Qt.AlignLeft;
# Color background
if role == Qt.BackgroundRole:
function = self._data[index.row()]
# Row is selected
if index.row() in self.rows_selected:
return FIRST.color_selected
# Data has been updated since original
if function.has_changed:
return FIRST.color_changed
#
if function.id is not None:
return FIRST.color_unchanged
# Return the default color
return FIRST.color_default
if role == Qt.DisplayRole:
function = self._data[index.row()]
column = index.column()
if 0 == column:
return '0x{0:X}'.format(function.address)
elif 1 == column:
return function.name
elif 2 == column:
return function.prototype
elif 3 == column:
return function.comment
return None
return super(FIRST.Model.Upload, self).data(index, role)
示例8
def data(self, index, role=None):
if index.isValid():
col_idx = index.column()
row_idx = index.row()
if row_idx < len(self.utxos):
utxo = self.utxos[row_idx]
if utxo:
if role in (Qt.DisplayRole, Qt.EditRole):
col = self.col_by_index(col_idx)
if col:
field_name = col.name
if field_name == 'satoshis':
return app_utils.to_string(round(utxo.satoshis / 1e8, 8))
elif field_name == 'masternode':
if utxo.masternode:
return utxo.masternode.name
elif field_name == 'confirmations':
if utxo.block_height >= UNCONFIRMED_TX_BLOCK_HEIGHT:
return 'Unconfirmed'
else:
return app_utils.to_string(utxo.__getattribute__(field_name))
elif field_name == 'address':
if utxo.address_obj and utxo.address_obj.label:
return utxo.address_obj.label
else:
return utxo.address
elif col.name == 'txid':
if self.tx_explorer_url:
url = self.tx_explorer_url.replace('%TXID%', utxo.txid)
url = f'<a href="{url}">{utxo.txid}</a>'
return url
else:
return utxo.txid
else:
return app_utils.to_string(utxo.__getattribute__(field_name))
elif role == Qt.ForegroundRole:
if utxo.is_collateral:
return QColor(Qt.white)
elif utxo.coinbase_locked or utxo.block_height >= UNCONFIRMED_TX_BLOCK_HEIGHT:
return QColor('red')
elif role == Qt.BackgroundRole:
if utxo.is_collateral:
return QColor(Qt.red)
elif role == Qt.TextAlignmentRole:
col = self.col_by_index(col_idx)
if col:
if col.name in ('satoshis', 'confirmations', 'output_index'):
return Qt.AlignRight
return QVariant()