Python源码示例:PyQt5.QtCore.Qt.ItemIsEnabled()
示例1
def flags(self, index):
"""Return the item flags for index.
Override QAbstractItemModel::flags.
Return: The item flags, or Qt.NoItemFlags on error.
"""
if not index.isValid():
return Qt.NoItemFlags
if index.parent().isValid():
# item
return (Qt.ItemIsEnabled | Qt.ItemIsSelectable |
Qt.ItemNeverHasChildren)
else:
# category
return Qt.NoItemFlags
示例2
def add_parent_folder(self):
row_idx = self.rowCount()
self.insertRow(row_idx)
items = []
p = Pixmap(":/icons/images/material/arrow_upward.svg")
p.replace_color(QColor(0, 0, 0), QColor(0x99, 0x99, 0x99))
items.append(CustomTableItem(QIcon(p), ""))
items.append(CustomTableItem(_("TEXT_FILE_TREE_PARENT_FOLDER")))
items.append(CustomTableItem())
items.append(CustomTableItem())
items.append(CustomTableItem())
for col, item in zip(Column, items):
item.setData(NAME_DATA_INDEX, "")
item.setData(TYPE_DATA_INDEX, FileType.ParentFolder)
item.setData(UUID_DATA_INDEX, None)
item.setFlags(Qt.ItemIsEnabled)
self.setItem(row_idx, col, item)
示例3
def add_parent_workspace(self):
row_idx = self.rowCount()
self.insertRow(row_idx)
items = []
p = Pixmap(":/icons/images/material/arrow_upward.svg")
p.replace_color(QColor(0, 0, 0), QColor(0x99, 0x99, 0x99))
items.append(CustomTableItem(QIcon(p), ""))
items.append(CustomTableItem(_("TEXT_FILE_TREE_PARENT_WORKSPACE")))
items.append(CustomTableItem())
items.append(CustomTableItem())
items.append(CustomTableItem())
for col, item in zip(Column, items):
item.setData(NAME_DATA_INDEX, "")
item.setData(TYPE_DATA_INDEX, FileType.ParentWorkspace)
item.setData(UUID_DATA_INDEX, None)
item.setFlags(Qt.ItemIsEnabled)
self.setItem(row_idx, col, item)
示例4
def load_endpoints(self):
self.choose_endpoint.endpoints.clear()
for name in listdir(str(BASE_PATH / 'endpoints')):
if name.endswith('.json'):
item = QListWidgetItem(name.split('.json')[0], self.choose_endpoint.endpoints)
item.setFlags(item.flags() & ~Qt.ItemIsEnabled)
pb_msg_to_endpoints = defaultdict(list)
with open(str(BASE_PATH / 'endpoints' / name)) as fd:
for endpoint in load(fd, object_pairs_hook=OrderedDict):
pb_msg_to_endpoints[endpoint['request']['proto_msg'].split('.')[-1]].append(endpoint)
for pb_msg, endpoints in pb_msg_to_endpoints.items():
item = QListWidgetItem(' ' * 4 + pb_msg, self.choose_endpoint.endpoints)
item.setFlags(item.flags() & ~Qt.ItemIsEnabled)
for endpoint in endpoints:
path_and_qs = '/' + endpoint['request']['url'].split('/', 3).pop()
item = QListWidgetItem(' ' * 8 + path_and_qs, self.choose_endpoint.endpoints)
item.setData(Qt.UserRole, endpoint)
self.set_view(self.choose_endpoint)
示例5
def pb_clone_behavior_clicked(self):
"""
clone the selected configuration
"""
if not self.twBehaviors.selectedIndexes():
QMessageBox.about(self, programName, "First select a behavior")
else:
self.twBehaviors.setRowCount(self.twBehaviors.rowCount() + 1)
row = self.twBehaviors.selectedIndexes()[0].row()
for field in behavioursFields:
item = QTableWidgetItem(self.twBehaviors.item(row, behavioursFields[field]))
self.twBehaviors.setItem(self.twBehaviors.rowCount() - 1, behavioursFields[field], item)
if field in [TYPE, "category", "excluded", "coding map", "modifiers"]:
item.setFlags(Qt.ItemIsEnabled)
item.setBackground(QColor(230, 230, 230))
示例6
def pbAddBehavior_clicked(self):
"""
add new behavior to ethogram
"""
try:
# Add behavior to table
self.twBehaviors.setRowCount(self.twBehaviors.rowCount() + 1)
for field_type in behavioursFields:
item = QTableWidgetItem()
if field_type == TYPE:
item.setText("Point event")
if field_type in [TYPE, "category", "excluded", "coding map", "modifiers"]:
item.setFlags(Qt.ItemIsEnabled)
item.setBackground(QColor(230, 230, 230))
self.twBehaviors.setItem(self.twBehaviors.rowCount() - 1, behavioursFields[field_type], item)
except Exception:
logging.critical(f"Error:<br><b>{sys.exc_info()[1]}</b>")
dialog.error_message("adding a new behavior", sys.exc_info())
示例7
def flags(self, index: QModelIndex):
if not index.isValid():
return None
j = index.column()
device = self.get_device_at(index.row())
if j == 0 and not device.has_native_backend and not device.has_gnuradio_backend:
return Qt.NoItemFlags
if j in [1, 2, 3] and not device.is_enabled:
return Qt.NoItemFlags
if j == 2 and not device.has_native_backend:
return Qt.NoItemFlags
if j == 3 and not device.has_gnuradio_backend:
return Qt.NoItemFlags
flags = Qt.ItemIsEnabled
if j in [0, 2, 3]:
flags |= Qt.ItemIsUserCheckable
return flags
示例8
def display_utxos(self):
def item(value):
item = QTableWidgetItem(value)
item.setTextAlignment(Qt.AlignCenter)
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
return item
self.tableW.setRowCount(len(self.utxos))
for row, utxo in enumerate(self.utxos):
pivxAmount = round(int(utxo.get('satoshis', 0))/1e8, 8)
self.tableW.setItem(row, 0, item(str(pivxAmount)))
self.tableW.setItem(row, 1, item(str(utxo['confirmations'])))
self.tableW.setItem(row, 2, item(utxo.get('txid', None)))
self.tableW.setItem(row, 3, item(str(utxo.get('vout', None))))
if len(self.utxos):
self.tableW.resizeColumnsToContents()
self.lblMessage.setVisible(False)
self.tableW.horizontalHeader().setSectionResizeMode(2, QHeaderView.Stretch)
else:
self.lblMessage.setText('<b style="color:purple">No UTXO found for current address.\nEnter tx manually</b>')
self.lblMessage.setVisible(True)
示例9
def _update_tree(self, conf, value):
"""Update the block tree"""
self._block_tree.clear()
for block in self._helper.cf.log.log_blocks:
item = QtWidgets.QTreeWidgetItem()
item.setFlags(Qt.ItemIsEnabled |
Qt.ItemIsSelectable)
item.setData(0, Qt.DisplayRole, block.id)
item.setData(1, Qt.EditRole, block.name)
item.setData(2, Qt.DisplayRole, (block.period_in_ms))
item.setData(3, Qt.DisplayRole, block.added)
item.setData(4, Qt.EditRole, block.started)
item.setData(5, Qt.EditRole, block.err_no)
for var in block.variables:
subItem = QtWidgets.QTreeWidgetItem()
subItem.setFlags(Qt.ItemIsEnabled |
Qt.ItemIsSelectable)
subItem.setData(6, Qt.EditRole, var.name)
item.addChild(subItem)
self._block_tree.addTopLevelItem(item)
self._block_tree.expandItem(item)
示例10
def fill_tableWidget(self):
''' Fill table widget with data. '''
numRows = self.ui.tableWidget.rowCount()
for row in range(0, numRows):
self.ui.tableWidget.removeRow(0)
self.ui.tableWidget.setColumnCount(len(self.fields))
for c, field in enumerate(self.fields):
item = QtWidgets.QTableWidgetItem(field + "\n" + self.fields_type[c] + "\n")
self.ui.tableWidget.setHorizontalHeaderItem(c, item)
self.ui.tableWidget.setRowCount(len(self.data))
for row in range(0, len(self.data)):
for col in range(0, len(self.fields)):
value = str(self.data[row][col])
item = QtWidgets.QTableWidgetItem(value)
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) # not editatble
self.ui.tableWidget.setItem(row, col, item)
self.ui.tableWidget.resizeColumnsToContents()
for col in range(0, self.ui.tableWidget.columnCount()):
if self.ui.tableWidget.columnWidth(col) > 200:
self.ui.tableWidget.setColumnWidth(col, 200)
示例11
def flags(self, index):
if not index.isValid():
return 0
if index.column() == 0:
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
return Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable
示例12
def flags(self, index):
flags = QAbstractTableModel.flags(self, index)
if not index.isValid():
return flags
prop = self.getProperty(index)
if prop is None:
return flags
flags |= Qt.ItemIsEnabled
flags |= Qt.ItemIsSelectable
mode = prop.get('mode', "Read/Write")
if "Write" in mode:
flags |= Qt.ItemIsEditable
return flags
示例13
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
示例14
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable
示例15
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable
示例16
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable
示例17
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsEditable
示例18
def __InitFieldItem(self, parent, item):
treeItem = QTreeWidgetItem(parent)
treeItem.setText(0, item)
treeItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsSelectable)
treeItem.setCheckState(0, Qt.Unchecked)
return treeItem
示例19
def flags(self, index):
if not index.isValid():
return Qt.NoItemFlags
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
示例20
def flags(self, index):
return Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable
示例21
def update_table(self, emuchunks):
'''
This function updates the table with new code objects received from the packager
at the end of a "ripping" process.
'''
if (not self.qtAvailable):
return
self._table.setRowCount(len(emuchunks))
self._table.emuchunks = emuchunks
row = 0
for chunkName in emuchunks:
nameField = QtWidgets.QTableWidgetItem(chunkName)
nameField.setFlags(Qt.ItemIsEnabled)
startAddr = QtWidgets.QTableWidgetItem('0x%.8x' % emuchunks[chunkName].startaddr)
startAddr.setFlags(Qt.ItemIsEnabled)
endAddr = QtWidgets.QTableWidgetItem('0x%.8x' % (int(emuchunks[chunkName].startaddr) + int(emuchunks[chunkName].codelen)))
endAddr.setFlags(Qt.ItemIsEnabled)
self._table.setItem(row, 0, nameField)
self._table.setItem(row, 1, startAddr)
self._table.setItem(row, 2, endAddr)
row += 1
self._core.show()
self._core.selectTab(self)
self.show()
### Convenience wrappers for some frequently used things
示例22
def flags(self, index):
if not index.isValid():
return Qt.NoItemFlags
return Qt.ItemIsEnabled | Qt.ItemIsUserCheckable
示例23
def initCategories(self):
generalButton = QListWidgetItem(self.categories)
generalButton.setIcon(QIcon(':/images/settings-general.png'))
generalButton.setText('General')
generalButton.setToolTip('General settings')
generalButton.setTextAlignment(Qt.AlignHCenter)
generalButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
videoButton = QListWidgetItem(self.categories)
videoButton.setIcon(QIcon(':/images/settings-video.png'))
videoButton.setText('Video')
videoButton.setToolTip('Video settings')
videoButton.setTextAlignment(Qt.AlignHCenter)
videoButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
themeButton = QListWidgetItem(self.categories)
themeButton.setIcon(QIcon(':/images/settings-theme.png'))
themeButton.setText('Theme')
themeButton.setToolTip('Theme settings')
themeButton.setTextAlignment(Qt.AlignHCenter)
themeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
ffmpegButton = QListWidgetItem(self.categories)
ffmpegButton.setIcon(QIcon(':/images/settings-ffmpeg.png'))
ffmpegButton.setText('Tools')
ffmpegButton.setToolTip('Tools settings')
ffmpegButton.setTextAlignment(Qt.AlignHCenter)
ffmpegButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
logsButton = QListWidgetItem(self.categories)
logsButton.setIcon(QIcon(':/images/settings-logs.png'))
logsButton.setText('Logs')
logsButton.setToolTip('Logging settings')
logsButton.setTextAlignment(Qt.AlignHCenter)
logsButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
self.categories.currentItemChanged.connect(self.changePage)
self.categories.setCurrentRow(0)
self.categories.setMaximumWidth(self.categories.sizeHintForColumn(0) + 2)
示例24
def renderClips(self, cliptimes: list) -> int:
self.clear()
externalCount = 0
for index, clip in enumerate(cliptimes):
chapterName, endItem = '', ''
if isinstance(clip[1], QTime):
endItem = clip[1].toString(self.parent.timeformat)
self.parent.totalRuntime += clip[0].msecsTo(clip[1])
listitem = QListWidgetItem(self)
listitem.setToolTip('Drag to reorder clips')
if len(clip[3]):
listitem.setToolTip(clip[3])
externalCount += 1
if self.parent.createChapters:
chapterName = clip[4] if clip[4] is not None else 'Chapter {}'.format(index + 1)
listitem.setStatusTip('Reorder clips with mouse drag & drop or right-click menu on the clip to be moved')
listitem.setTextAlignment(Qt.AlignVCenter)
listitem.setData(Qt.DecorationRole + 1, clip[2])
listitem.setData(Qt.DisplayRole + 1, clip[0].toString(self.parent.timeformat))
listitem.setData(Qt.UserRole + 1, endItem)
listitem.setData(Qt.UserRole + 2, clip[3])
listitem.setData(Qt.UserRole + 3, chapterName)
listitem.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled | Qt.ItemIsEnabled)
self.addItem(listitem)
if isinstance(clip[1], QTime) and not len(clip[3]):
self.parent.seekSlider.addRegion(clip[0].msecsSinceStartOfDay(), clip[1].msecsSinceStartOfDay())
return externalCount
示例25
def dialog_helper_init(self):
self.check_all_button.clicked.connect(self.handle_check_all_clicked)
self.check_none_button.clicked.connect(self.handle_check_none_clicked)
for attr in self.get_attrs():
it = QListWidgetItem()
it.setText(attr)
it.setData(Qt.UserRole, attr)
it.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
it.setCheckState(
Qt.Checked if self.is_default_attr(attr) else Qt.Unchecked)
self.attr_list.addItem(it)
示例26
def flags(self, index):
if not index.isValid():
return 0
flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsDropEnabled
return flags
示例27
def flags(self, index):
if not index.isValid():
return Qt.NoItemFlags
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
示例28
def flags(self, index):
base_flag = Qt.ItemIsEnabled | Qt.ItemIsSelectable
if self.is_editable:
return base_flag | Qt.ItemIsEditable
else:
return base_flag
示例29
def flags(self, index):
f = Qt.ItemIsEnabled | Qt.ItemIsSelectable
if index.column() == 0:
f = f | Qt.ItemIsUserCheckable | Qt.ItemIsEditable
return f
示例30
def flags(self, index):
return Qt.ItemIsEnabled | Qt.ItemIsSelectable