当前位置: 首页>>代码示例>>Python>>正文


Python QList.removeAt方法代码示例

本文整理汇总了Python中pyqtcore.QList.removeAt方法的典型用法代码示例。如果您正苦于以下问题:Python QList.removeAt方法的具体用法?Python QList.removeAt怎么用?Python QList.removeAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyqtcore.QList的用法示例。


在下文中一共展示了QList.removeAt方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: QtButtonPropertyBrowserPrivate

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
        if (newItem.widget):
            newItem.widget.destroyed.connect(self.slotEditorDestroyed)
            self.m_widgetToItem[newItem.widget] = newItem
        elif (index.property().hasValue()):
            newItem.widgetLabel = QLabel(parentWidget)
            newItem.widgetLabel.setSizePolicy(QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Fixed))

        self.insertRow(layout, row)
        span = 1
        if (newItem.widget):
            layout.addWidget(newItem.widget, row, 1)
        elif (newItem.widgetLabel):
            layout.addWidget(newItem.widgetLabel, row, 1)
        else:
            span = 2
        layout.addWidget(newItem.label, row, 0, span, 1)

        self.m_itemToIndex[newItem] = index
        self.m_indexToItem[index] = newItem

        self.updateItem(newItem)

    def propertyRemoved(self, index):
        item = self.m_indexToItem[index]

        self.m_indexToItem.remove(index)
        self.m_itemToIndex.remove(item)

        parentItem = item.parent

        row = self.gridRow(item)

        if (parentItem):
            parentItem.children.removeAt(parentItem.children.indexOf(item))
        else:
            self.m_children.removeAt(self.m_children.indexOf(item))

        colSpan = self.gridSpan(item)

        self.m_buttonToItem.remove(item.button)

        if (item.widget):
            item.widget.close()
            del item.widget
        if (item.label):
            item.label.close()
            del item.label
        if (item.widgetLabel):
            item.widgetLabel.close()
            del item.widgetLabel
        if (item.button):
            item.button.close()
            del item.button
        if (item.container):
            item.container.close()
            del item.container

        if (not parentItem):
            self.removeRow(self.m_mainLayout, row)
            if (colSpan > 1):
                self.removeRow(self.m_mainLayout, row)
        elif (len(parentItem.children) != 0):
            self.removeRow(parentItem.layout, row)
            if (colSpan > 1):
                self.removeRow(parentItem.layout, row)
        else:
开发者ID:theall,项目名称:QtPropertyBrowserV2.6-for-pyqt5,代码行数:70,代码来源:qtbuttonpropertybrowser.py

示例2: QtGroupBoxPropertyBrowserPrivate

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
            newItem.widgetLabel.setSizePolicy(QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Fixed))
            newItem.widgetLabel.setTextFormat(Qt.PlainText)
        else:
            newItem.widget.destroyed.connect(self.slotEditorDestroyed)
            self.m_widgetToItem[newItem.widget] = newItem

        self.insertRow(layout, row)
        span = 1
        if (newItem.widget):
            layout.addWidget(newItem.widget, row, 1)
        elif (newItem.widgetLabel):
            layout.addWidget(newItem.widgetLabel, row, 1)
        else:
            span = 2
        layout.addWidget(newItem.label, row, 0, 1, span)

        self.m_itemToIndex[newItem] = index
        self.m_indexToItem[index] = newItem

        self.updateItem(newItem)

    def propertyRemoved(self, index):
        item = self.m_indexToItem[index]

        self.m_indexToItem.remove(index)
        self.m_itemToIndex.remove(item)

        parentItem = item.parent

        row = -1

        if (parentItem):
            row = parentItem.children.indexOf(item)
            parentItem.children.removeAt(row)
            if (self.hasHeader(parentItem)):
                row += 2
        else:
            row = self.m_children.indexOf(item)
            self.m_children.removeAt(row)

        if (item.widget):
            item.widget.close()
            del item.widget
        if (item.label):
            item.label.close()
            del item.label
        if (item.widgetLabel):
            item.widgetLabel.close()
            del item.widgetLabel
        if (item.groupBox):
            item.groupBox.close()
            del item.groupBox

        if (not parentItem):
            self.removeRow(self.m_mainLayout, row)
        elif len(parentItem.children) > 0:
            self.removeRow(parentItem.layout, row)
        else:
            par = parentItem.parent
            l = 0
            oldRow = -1
            if (not par):
                l = self.m_mainLayout
                oldRow = self.m_children.indexOf(parentItem)
            else:
                l = par.layout
开发者ID:theall,项目名称:Python-Tiled,代码行数:70,代码来源:qtgroupboxpropertybrowser.py

示例3: CommandDataModel

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
    ##
    def allCommands(self):
        return QList(self.mCommands)

    ##
    # Remove the given row or rows from the model.
    ##
    def removeRows(self, *args):
        l = len(args)
        if l>1 and l<4:
            row = args[0]
            count = args[1]
            if l==2:
                parent = QModelIndex()
            elif l==3:
                parent = args[2]

            if (row < 0 or row + count > self.mCommands.size()):
                return False
            self.beginRemoveRows(parent, row, row + count)
            self.mCommands.erase(self.mCommands.begin() + row, self.mCommands.begin() + row + count)
            self.endRemoveRows()
            return True
        elif l==1:
            indices = args[0]
            ##
             # Deletes the commands associated with the given row <i>indices</i>.
            ##
            while (not indices.empty()):
                row = indices.takeFirst().row()
                if (row >= self.mCommands.size()):
                    continue
                self.beginRemoveRows(QModelIndex(), row, row)
                self.mCommands.removeAt(row)
                # Decrement later indices since we removed a row
                for i in indices:
                    if (i.row() > row):
                       i = i.sibling(i.row() - 1, i.column())
                self.endRemoveRows()

    ##
    # Returns the number of rows (this includes the <New Command> row).
    ##
    def rowCount(self, parent):
        if parent.isValid():
            return 0
        else:
            return self.mCommands.size() + 1

    ##
    # Returns the number of columns.
    ##
    def columnCount(self, parent):
        if parent.isValid():
            return 0
        else:
            return 3

    ##
    # Returns the data at <i>index</i> for the given <i>role</i>.
    ##
    def data(self, index, role = Qt.DisplayRole):
        isNormalRow = index.row() < self.mCommands.size()
        command = Command()
        if (isNormalRow):
            command = self.mCommands[index.row()]
开发者ID:theall,项目名称:Python-Tiled,代码行数:70,代码来源:commanddatamodel.py

示例4: Map

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
    ##
    def addTileset(self, tileset):
        self.mTilesets.append(tileset)

    ##
    # Convenience function to be used together with Layer.usedTilesets()
    ##
    def addTilesets(self, tilesets):
        for tileset in tilesets:
            self.addTileset(tileset)
            
    ##
    # Inserts \a tileset at \a index in the list of tilesets used by this map.
    ##
    def insertTileset(self, index, tileset):
        self.mTilesets.insert(index, tileset)

    ##
    # Returns the index of the given \a tileset, or -1 if it is not used in
    # this map.
    ##
    def indexOfTileset(self, tileset):
        return self.mTilesets.indexOf(tileset)

    ##
    # Removes the tileset at \a index from this map.
    #
    # \warning Does not make sure that this map no longer refers to tiles from
    #          the removed tileset!
    #
    # \sa addTileset
    ##
    def removeTilesetAt(self, index):
        self.mTilesets.removeAt(index)

    ##
    # Replaces all tiles from \a oldTileset with tiles from \a newTileset.
    # Also replaces the old tileset with the new tileset in the list of
    # tilesets.
    ##
    def replaceTileset(self, oldTileset, newTileset):
        index = self.mTilesets.indexOf(oldTileset)
        for layer in self.mLayers:
            layer.replaceReferencesToTileset(oldTileset, newTileset)
        self.mTilesets[index] = newTileset

    ##
    # Returns the number of tilesets of this map.
    ##
    def tilesetCount(self):
        return self.mTilesets.size()

    ##
    # Returns the tileset at the given index.
    ##
    def tilesetAt(self, index):
        return self.mTilesets.at(index)

    ##
    # Returns the tilesets that the tiles on this map are using.
    ##
    def tilesets(self):
        return QList(self.mTilesets)

    ##
    # Returns the background color of this map.
开发者ID:theall,项目名称:Python-Tiled,代码行数:70,代码来源:map.py

示例5: ObjectGroup

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]
class ObjectGroup(Layer):
    ##
    # Objects within an object group can either be drawn top down (sorted
    # by their y-coordinate) or by index (manual stacking order).
    #
    # The default is top down.
    ##
    class DrawOrder():
        UnknownOrder = -1
        TopDownOrder = 1
        IndexOrder = 2

    ##
    # Default constructor.
    ##
    def __init__(self, *args):
        self.mObjects = QList()
        self.mColor = QColor()

        l = len(args)
        if l==0:
            super().__init__(Layer.ObjectGroupType, QString(), 0, 0, 0, 0)
        elif l==5:
            ##
            # Constructor with some parameters.
            ##
            name, x, y, width, height = args

            super().__init__(Layer.ObjectGroupType, name, x, y, width, height)
        else:
            pass
        self.mDrawOrder = ObjectGroup.DrawOrder.IndexOrder

    ##
    # Destructor.
    ##
    def __del__(self):
        self.mObjects.clear()

    ##
    # Returns a pointer to the list of objects in this object group.
    ##
    def objects(self):
        return QList(self.mObjects)

    ##
    # Returns the number of objects in this object group.
    ##
    def objectCount(self):
        return self.mObjects.size()

    ##
    # Returns the object at the specified index.
    ##
    def objectAt(self, index):
        return self.mObjects.at(index)

    ##
    # Adds an object to this object group.
    ##
    def addObject(self, object):
        self.mObjects.append(object)
        object.setObjectGroup(self)
        if (self.mMap and object.id() == 0):
            object.setId(self.mMap.takeNextObjectId())

    ##
    # Inserts an object at the specified index. This is only used for undoing
    # the removal of an object at the moment, to make sure not to change the
    # saved order of the objects.
    ##
    def insertObject(self, index, object):
        self.mObjects.insert(index, object)
        object.setObjectGroup(self)
        if (self.mMap and object.id() == 0):
            object.setId(self.mMap.takeNextObjectId())

    ##
    # Removes an object from this object group. Ownership of the object is
    # transferred to the caller.
    #
    # @return the index at which the specified object was removed
    ##
    def removeObject(self, object):
        index = self.mObjects.indexOf(object)
        self.mObjects.removeAt(index)
        object.setObjectGroup(None)
        return index

    ##
    # Removes the object at the given index. Ownership of the object is
    # transferred to the caller.
    #
    # This is faster than removeObject when you've already got the index.
    #
    # @param index the index at which to remove an object
    ##
    def removeObjectAt(self, index):
        object = self.mObjects.takeAt(index)
        object.setObjectGroup(None)
#.........这里部分代码省略.........
开发者ID:theall,项目名称:Python-Tiled,代码行数:103,代码来源:objectgroup.py

示例6: MapObjectModel

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
        self.objectsChanged.emit(objects)

    def setObjectName(self, o, name):
        if o.name() == name:
            return
        o.setName(name)
        index = self.index(o)
        self.dataChanged.emit(index, index)
        self.objectsChanged.emit(QList([o]))

    def setObjectType(self, o, type):
        if o.type() == type:
            return
        o.setType(type)
        index = self.index(o, 1)
        self.dataChanged.emit(index, index)
        self.objectsChanged.emit(QList([o]))

    def setObjectPolygon(self, o, polygon):
        if o.polygon() == polygon:
            return
        o.setPolygon(polygon)
        self.objectsChanged.emit(QList([o]))

    def setObjectPosition(self, o, pos):
        if o.position() == pos:
            return
        o.setPosition(pos)
        self.objectsChanged.emit(QList([o]))

    def setObjectSize(self, o, size):
        if o.size() == size:
            return
        o.setSize(size)
        self.objectsChanged.emit(QList([o]))

    def setObjectRotation(self, o, rotation):
        if o.rotation() == rotation:
            return
        o.setRotation(rotation)
        self.objectsChanged.emit(QList([o]))

    def setObjectVisible(self, o, visible):
        if o.isVisible() == visible:
            return
        o.setVisible(visible)
        index = self.index(o)
        self.dataChanged.emit(index, index)
        self.objectsChanged.emit(QList([o]))

    def layerAdded(self, index):
        layer = self.mMap.layerAt(index)
        og = layer.asObjectGroup()
        if og:
            if (not self.mGroups.contains(og)):
                prev = None
                for index in range(index - 1, -1, -1):
                    prev = self.mMap.layerAt(index).asObjectGroup()
                    if prev:
                        break
                if GROUPS_IN_DISPLAY_ORDER:
                    if prev:
                        _x = self.mObjectGroups.indexOf(prev)
                    else:
                        _x = self.mObjectGroups.count()
                    index = _x
                else:
                    if prev:
                        index = self.mObjectGroups.indexOf(prev) + 1
                    else:
                        index = 0

                self.mObjectGroups.insert(index, og)
                row = self.mObjectGroups.indexOf(og)
                self.beginInsertRows(QModelIndex(), row, row)
                self.mGroups.insert(og, ObjectOrGroup(og))
                for o in og.objects():
                    if (not self.mObjects.contains(o)):
                        self.mObjects.insert(o, ObjectOrGroup(o))

                self.endInsertRows()

    def layerChanged(self, index):
        layer = self.mMap.layerAt(index)
        og = layer.asObjectGroup()
        if og:
            index = self.index(og)
            self.dataChanged.emit(index, index)

    def layerAboutToBeRemoved(self, index):
        layer = self.mMap.layerAt(index)
        og = layer.asObjectGroup()
        if og:
            row = self.mObjectGroups.indexOf(og)
            self.beginRemoveRows(QModelIndex(), row, row)
            self.mObjectGroups.removeAt(row)
            self.mGroups.remove(og)
            for o in og.objects():
                self.mObjects.remove(og)
            self.endRemoveRows()
开发者ID:theall,项目名称:Python-Tiled,代码行数:104,代码来源:mapobjectmodel.py

示例7: TileStampModel

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
                    x = role
                    if x==Qt.DisplayRole or x==Qt.EditRole:
                        return variation.probability
        
        return QVariant()
    
    def flags(self, index):
        rc = QAbstractItemModel.flags(index)
        validParent = index.parent().isValid()
        if ((not validParent and index.column() == 0) or    # can edit stamp names
                (validParent and index.column() == 1)):  # and variation probability
            rc |= Qt.ItemIsEditable
        return rc
        
    def removeRows(self, row, count, parent):
        if (parent.isValid()):
            # removing variations
            stamp = self.mStamps[parent.row()]
            # if only one variation is left, we make all variation rows disappear
            if (stamp.variations().size() - count == 1):
                self.beginRemoveRows(parent, 0, count)
            else:
                self.beginRemoveRows(parent, row, row + count - 1)
            
            for x in range(count, 0, -1):
                self.mThumbnailCache.remove(stamp.variations().at(row).map)
                stamp.deleteVariation(row)
            
            self.endRemoveRows()
            if (stamp.variations().isEmpty()):
                # remove stamp since all its variations were removed
                self.beginRemoveRows(QModelIndex(), parent.row(), parent.row())
                self.stampRemoved.emit(stamp)
                self.mStamps.removeAt(parent.row())
                self.endRemoveRows()
            else :
                if (row == 0):
                    # preview on stamp and probability sum need update
                    # (while technically I think this is correct, it triggers a
                    # repainting issue in QTreeView)
                    #emit dataChanged(index(parent.row(), 0),
                    #                 self.index(parent.row(), 1))
                    pass
                self.stampChanged.emit(stamp)
            
        else :
            # removing stamps
            self.beginRemoveRows(parent, row, row + count - 1)
            for x in range(count, 0, -1):
                for variation in self.mStamps.at(row).variations():
                    self.mThumbnailCache.remove(variation.map)
                self.stampRemoved.emit(self.mStamps.at(row))
                self.mStamps.removeAt(row)
            
            self.endRemoveRows()
        
        return True
    
    ##
    # Returns the stamp at the given \a index.
    ##
    def stampAt(self, index):
        return self.mStamps.at(index.row())

    def isStamp(self, index):
        return index.isValid() \
开发者ID:theall,项目名称:Python-Tiled,代码行数:70,代码来源:tilestampmodel.py

示例8: DocumentManager

# 需要导入模块: from pyqtcore import QList [as 别名]
# 或者: from pyqtcore.QList import removeAt [as 别名]

#.........这里部分代码省略.........
        view = MapView()
        scene = MapScene(view) # scene is owned by the view
        container = MapViewContainer(view, self.mTabWidget)
        scene.setMapDocument(mapDocument)
        view.setScene(scene)
        documentIndex = self.mDocuments.size() - 1
        self.mTabWidget.addTab(container, mapDocument.displayName())
        self.mTabWidget.setTabToolTip(documentIndex, mapDocument.fileName())
        mapDocument.fileNameChanged.connect(self.fileNameChanged)
        mapDocument.modifiedChanged.connect(self.updateDocumentTab)
        mapDocument.saved.connect(self.documentSaved)
        container.reload.connect(self.reloadRequested)
        self.switchToDocument(documentIndex)
        self.centerViewOn(0, 0)

    ##
    # Closes the current map document. Will not ask the user whether to save
    # any changes!
    ##
    def closeCurrentDocument(self):
        index = self.mTabWidget.currentIndex()
        if (index == -1):
            return
        self.closeDocumentAt(index)

    ##
    # Closes the document at the given \a index. Will not ask the user whether
    # to save any changes!
    ##
    def closeDocumentAt(self, index):
        mapDocument = self.mDocuments.at(index)
        self.documentAboutToClose.emit(mapDocument)

        self.mDocuments.removeAt(index)
        self.mTabWidget.removeTab(index)
        
        if (mapDocument.fileName() != ''):
            self.mFileSystemWatcher.removePath(mapDocument.fileName())

        self.mUndoGroup.removeStack(mapDocument.undoStack())
        
    ##
    # Reloads the current document. Will not ask the user whether to save any
    # changes!
    #
    # \sa reloadDocumentAt()
    ##
    def reloadCurrentDocument(self):
        index = self.mTabWidget.currentIndex()
        if (index == -1):
            return False
        return self.reloadDocumentAt(index)

    ##
    # Reloads the document at the given \a index. It will lose any undo
    # history and current selections. Will not ask the user whether to save
    # any changes!
    #
    # Returns whether the map loaded successfully.
    ##
    def reloadDocumentAt(self, index):
        oldDocument = self.mDocuments.at(index)
        
        newDocument, error = MapDocument.load(oldDocument.fileName(), oldDocument.readerFormat())
        if (not newDocument):
            self.reloadError.emit(self.tr("%s:\n\n%s"%(oldDocument.fileName(), error)))
开发者ID:theall,项目名称:Python-Tiled,代码行数:70,代码来源:documentmanager.py


注:本文中的pyqtcore.QList.removeAt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。