def flags(self, index): if not index.isValid(): return Qt.NoItemFlags # Cannot edit name, per col if index.column() in (NAME_COL, PER_COL): return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable) return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def flags(self, index): if not index.isValid(): return Qt.NoItemFlags if index.column() in (Req.attr_to_col['min'], Req.attr_to_col['max'], Req.attr_to_col['target']): return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable) else: return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)
def flags(self, index): if not index.isValid(): return Qt.ItemIsEnabled elif index.column() in (MASK, HIGHLIGHT): return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsSelectable) elif index.column() in (NAME, COLORLABEL): return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable | Qt.ItemIsSelectable) elif index.column() == COLOR: return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable) else: return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
def flags(self, index): """ Set the item flags at the given index. Seems like we're implementing this function just to see how it's done, as we manually adjust each tableView to have NoEditTriggers. """ if not index.isValid(): return Qt.ItemIsEnabled return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def flags(self, index): if not index.isValid(): return Qt.ItemIsEnabled col = index.column() if col == 0: return Qt.ItemIsEnabled return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def flags(self, index): """Override Qt flags method for custom editing behaviour :param QModelIndex index: Target index """ if not index.isValid(): return Qt.ItemIsEnabled current_flags = QAbstractTableModel.flags(self, index) return Qt.ItemFlags(current_flags | Qt.ItemIsEditable)
def flags(self, index): if not index.isValid(): return Qt.ItemIsEnabled if index.column() == self.K_REMOVE_COL_INDEX: if self.K_CUSTOM_INPUT == self.metadataList[index.row()][ self.K_SOURCE_META_KEY]: return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable) else: return Qt.ItemIsEnabled elif index.column() == self.K_SOURCE_COL_INDEX or index.column( ) == self.K_USESOURCE_COL_INDEX: return Qt.ItemFlags( QAbstractTableModel.flags(self, index) ^ Qt.ItemIsEnabled) else: if index.data() == "" or self.metadataList[index.row()][ self.K_EDITABLE_META_KEY] == 2: return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable) else: return Qt.ItemIsEnabled
def flags(self, index): """Set the item flags at the given index. Args: index (QModelIndex): The index Returns: Qt flags: Flags from Qt """ # https://doc.qt.io/qt-5/qt.html#ItemFlag-enum if not index.isValid(): return Qt.ItemIsEnabled return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsSelectable) # | Qt.ToolTip) # ItemIsEditable
def flags(self, index: QModelIndex): """Set the item flags at the given index. Seems like we're implementing this function just to see how it's done, as we manually adjust each treeView to have NoEditTriggers. Args: index (QModelIndex): The index Returns: Qt flags: Flags from Qt """ # https://doc.qt.io/qt-5/qt.html#ItemFlag-enum if not index.isValid(): return Qt.ItemIsEnabled # Returns the item flags for the given index. # The base class implementation returns a combination of flags that enables # the item (ItemIsEnabled) and allows it to be selected (ItemIsSelectable). flags = QAbstractTableModel.flags(self, index) if index.column() == 1: flags |= Qt.ItemIsEditable return Qt.ItemFlags(flags)
from PySide2.QtCore import Qt from PySide2.QtWidgets import QDialog, QGridLayout, QTableWidget, QTableWidgetItem, QPushButton, QMessageBox from node_launcher.node_set.lib.configuration import ConfigurationProperty from node_launcher.node_set.lib.network_node import NetworkNode # noinspection PyUnresolvedReferences editDisabledFlags = Qt.ItemFlags() ^ Qt.ItemIsEnabled class ConfigurationDialog(QDialog): def __init__(self, node): super().__init__() self.node: NetworkNode = node self.delete_popup = None self.layout = QGridLayout() self.table = QTableWidget(0, 3) self.table.setHorizontalHeaderLabels(['Id', 'Key', 'Value']) self.table.setColumnHidden(0, True) self.node.configuration.configuration_changed.connect( self.handle_configuration_change )
def flags(self, index): if not index.isValid(): return Qt.NoItemFlags return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)