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


C++ contentChanged函数代码示例

本文整理汇总了C++中contentChanged函数的典型用法代码示例。如果您正苦于以下问题:C++ contentChanged函数的具体用法?C++ contentChanged怎么用?C++ contentChanged使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: QGroupBox

//-----------------------------------------------------------------------------
// Function: PropertyValueEditor::PropertyValueEditor()
//-----------------------------------------------------------------------------
PropertyValueEditor::PropertyValueEditor(QWidget* parent)
    : QGroupBox(tr("Property values"), parent),
      view_(this),
      delegate_(this),
      filter_(this),
      model_(this)
{
    // Set the model source and other options for the view.
    filter_.setSourceModel(&model_);

    view_.setModel(&filter_);
    view_.setSortingEnabled(true);
    view_.setItemsDraggable(false);
    view_.setItemDelegate(&delegate_);

    QHBoxLayout* layout = new QHBoxLayout(this);
    layout->addWidget(&view_);

    connect(&model_, SIGNAL(contentChanged()),
            this, SIGNAL(contentChanged()), Qt::UniqueConnection);
    connect(&view_, SIGNAL(addItem(const QModelIndex&)),
            &model_, SLOT(onAddItem(const QModelIndex&)), Qt::UniqueConnection);
    connect(&view_, SIGNAL(removeItem(const QModelIndex&)),
            &model_, SLOT(onRemoveItem(const QModelIndex&)), Qt::UniqueConnection);
}
开发者ID:kammoh,项目名称:kactus2,代码行数:28,代码来源:PropertyValueEditor.cpp

示例2: QGroupBox

//-----------------------------------------------------------------------------
// Function: AbsDefGroup::AbsDefGroup()
//-----------------------------------------------------------------------------
AbsDefGroup::AbsDefGroup(LibraryInterface* handler, QWidget *parent): 
QGroupBox(tr("Signals (Abstraction Definition)"), parent),
portView_(this),
portModel_(this),
handler_(handler),
absDef_()
{
	portView_.setModel(&portModel_);
	portView_.setItemDelegate(new BusPortsDelegate(this));
    portView_.setAllowImportExport(true);
    portView_.setItemsDraggable(false);

	connect(&portView_, SIGNAL(addSignalOptions()), this, SLOT(onAddSignalOptions()), Qt::UniqueConnection);
	
	connect(&portModel_, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)),
		this, SIGNAL(contentChanged()), Qt::UniqueConnection);
	connect(&portModel_, SIGNAL(contentChanged()),
		this, SIGNAL(contentChanged()), Qt::UniqueConnection);
	connect(&portModel_, SIGNAL(noticeMessage(const QString&)),
		this, SIGNAL(noticeMessage(const QString&)), Qt::UniqueConnection);
	connect(&portModel_, SIGNAL(errorMessage(const QString&)),
		this, SIGNAL(errorMessage(const QString&)), Qt::UniqueConnection);
    connect(&portModel_, SIGNAL(portRenamed(const QString&, const QString&)), 
        this, SIGNAL(portRenamed(const QString&, const QString&)), Qt::UniqueConnection);
    connect(&portModel_, SIGNAL(portRemoved(const QString&, const General::InterfaceMode)), 
        this, SIGNAL(portRemoved(const QString&, const General::InterfaceMode)), Qt::UniqueConnection);

    connect(&portView_, SIGNAL(addItem(const QModelIndex&)),
        &portModel_, SLOT(addSignal()), Qt::UniqueConnection);
    connect(&portView_, SIGNAL(removeItem(const QModelIndex&)),
        &portModel_, SLOT(onRemoveItem(const QModelIndex&)), Qt::UniqueConnection);

	setupLayout();
}
开发者ID:kammoh,项目名称:kactus2,代码行数:37,代码来源:absdefgroup.cpp

示例3: connect

/*!
    \internal
    offload common initialization functionality.
*/
void QContentSet::init()
{
    if( d )
    {
        d->setParent( this );

        connect( d  , SIGNAL(contentAboutToBeRemoved(int,int)),
                this, SIGNAL(contentAboutToBeRemoved(int,int)) );
        connect( d  , SIGNAL(contentAboutToBeInserted(int,int)),
                this, SIGNAL(contentAboutToBeInserted(int,int)) );
        connect( d  , SIGNAL(contentChanged(int,int)),
                this, SIGNAL(contentChanged(int,int)) );
        connect( d  , SIGNAL(contentRemoved()),
                this, SIGNAL(contentRemoved()) );
        connect( d  , SIGNAL(contentInserted()),
                this, SIGNAL(contentInserted()) );
        connect( d  , SIGNAL(contentChanged()),
                this, SIGNAL(changed()) );

#ifndef QTOPIA_CONTENT_INSTALLER
    connect(qApp, SIGNAL(contentChanged(QContentIdList,QContent::ChangeType)),
            d, SLOT(update()));
    connect(qApp, SIGNAL(contentChanged(QContentIdList,QContent::ChangeType)),
            this, SIGNAL(changed(QContentIdList,QContent::ChangeType)) );
    connect(QContentUpdateManager::instance(), SIGNAL(refreshRequested()),
            d, SLOT(update()));
#endif

        d->update();
    }
    else
    {
开发者ID:Camelek,项目名称:qtmoko,代码行数:36,代码来源:qcontentset.cpp

示例4: MyTextEdit

  /*!
   * \author Anders Fernström and Ingemar Axelsson
   * \date 2006-03-02 (update)
   *
   * \brief Creates the QTextEdit for the input part of the
   * inputcell
   *
   * 2005-10-27 AF, Large part of this function was changes due to
   * porting to QT4 (changes from Q3TextEdit to QTextEdit).
   * 2005-12-15 AF, Added more connections to the editor, mostly for
   * commandcompletion, but also for eval. invoking eval have moved
   * from the eventfilter on this cell to the reimplemented key event
   * handler in the editor
   * 2006-03-02 AF, Added call to createChapterCounter();
   */
  void InputCell::createInputCell()
  {
    input_ = new MyTextEdit( mainWidget() );
    mpModelicaTextHighlighter = new ModelicaTextHighlighter(input_->document());
    layout_->addWidget( input_, 1, 1 );

    // 2006-03-02 AF, Add a chapter counter
    createChapterCounter();

    //input_->setReadOnly( false );
    input_->setReadOnly( true );
    input_->setUndoRedoEnabled( true );
    //input_->setFrameStyle( QFrame::NoFrame );
    input_->setFrameShape( QFrame::Box );
    input_->setAutoFormatting( QTextEdit::AutoNone );

    input_->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
    input_->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
//    input_->setContextMenuPolicy( Qt::NoContextMenu );

    QPalette palette;
    palette.setColor(input_->backgroundRole(), QColor(200,200,255));
    input_->setPalette(palette);

    // is this needed, don't know /AF
    input_->installEventFilter(this);


    connect( input_, SIGNAL( textChanged() ),
      this, SLOT( contentChanged() ));

      connect( input_, SIGNAL( clickOnCell() ),
      this, SLOT( clickEvent() ));
    connect( input_, SIGNAL( wheelMove(QWheelEvent*) ),
      this, SLOT( wheelEvent(QWheelEvent*) ));
    // 2005-12-15 AF, new connections
    connect( input_, SIGNAL( eval() ),
      this, SLOT( eval() ));
    connect( input_, SIGNAL( command() ),
      this, SLOT( command() ));
    connect( input_, SIGNAL( nextCommand() ),
      this, SLOT( nextCommand() ));
    connect( input_, SIGNAL( nextField() ),
      this, SLOT( nextField() ));
    //2005-12-29 AF
    connect( input_, SIGNAL( textChanged() ),
      this, SLOT( addToHighlighter() ));
    // 2006-01-17 AF, new...
    connect( input_, SIGNAL( currentCharFormatChanged(const QTextCharFormat &) ),
      this, SLOT( charFormatChanged(const QTextCharFormat &) ));
    // 2006-04-27 AF,
    connect( input_, SIGNAL( forwardAction(int) ),
      this, SIGNAL( forwardAction(int) ));

    contentChanged();
  }
开发者ID:hkiel,项目名称:OMNotebook,代码行数:71,代码来源:inputcell.cpp

示例5: arrayLeftColumn

//-----------------------------------------------------------------------------
// Function: ParameterDelegate::setEditorData()
//-----------------------------------------------------------------------------
void ParameterDelegate::setEditorData(QWidget* editor, QModelIndex const& index) const 
{
    if (index.column() == valueColumn() && valueIsArray(index))
    {
        ArrayView* view = dynamic_cast<ArrayView*>(dynamic_cast<QScrollArea*>(editor)->widget());

        QModelIndex arrayLeftIndex = index.sibling(index.row(), arrayLeftColumn());
        int arrayLeftValue = arrayLeftIndex.data(Qt::ToolTipRole).toInt();

        QModelIndex arrayRightIndex = index.sibling(index.row(), arrayRightColumn());
        int arrayRightValue = arrayRightIndex.data(Qt::ToolTipRole).toInt();

        int arraySize = getArraySize(arrayLeftValue, arrayRightValue);

        int arrayStartIndex = arrayLeftValue;
        if (arrayRightValue < arrayLeftValue)
        {
            arrayStartIndex = arrayRightValue;
        }

        QSharedPointer<IPXactSystemVerilogParser> expressionParser(new IPXactSystemVerilogParser(
            getParameterFinder()));

        QSharedPointer<Choice> selectedChoice = findChoice(index);

        ParameterArrayModel* model = new ParameterArrayModel(arraySize, expressionParser, getParameterFinder(),
            expressionFormatter_, selectedChoice, QColor("LemonChiffon"), arrayStartIndex, view);

        QModelIndex valueIndex = index.sibling(index.row(), valueColumn());
        QString parameterValue = valueIndex.data(Qt::EditRole).toString();
        model->setArrayData(parameterValue);

        QModelIndex typeIndex = index.sibling(index.row(), formatColumn());
        QString parameterType = typeIndex.data(Qt::EditRole).toString();
        model->setParameterType(parameterType);

        view->setItemDelegate(new ArrayDelegate(getNameCompleter(), getParameterFinder(), selectedChoice,
            this->parent()));

        view->setModel(model);
        view->setSortingEnabled(false);
        view->resizeColumnsToContents();

        connect(model, SIGNAL(contentChanged()), this, SIGNAL(contentChanged()), Qt::UniqueConnection);
        connect(model, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)),
            this, SIGNAL(contentChanged()), Qt::UniqueConnection);

        connect(view->itemDelegate(), SIGNAL(increaseReferences(QString)),
            this, SIGNAL(increaseReferences(QString)), Qt::UniqueConnection);
        connect(view->itemDelegate(), SIGNAL(decreaseReferences(QString)),
            this, SIGNAL(decreaseReferences(QString)), Qt::UniqueConnection);
    }
开发者ID:kammoh,项目名称:kactus2,代码行数:55,代码来源:ParameterDelegate.cpp

示例6: ItemEditor

//-----------------------------------------------------------------------------
// Function: AddressSpaceEditor::AddressSpaceEditor()
//-----------------------------------------------------------------------------
AddressSpaceEditor::AddressSpaceEditor(QSharedPointer<Component> component, 
    LibraryInterface* handler,
    QSharedPointer<AddressSpace> addrSpace,
    QSharedPointer <ParameterFinder> parameterFinder,
    QSharedPointer <ExpressionFormatter> expressionFormatter,
    QSharedPointer<ExpressionParser> expressionParser,
    QWidget* parent):
ItemEditor(component, handler, parent),
    addrSpace_(addrSpace),
    nameEditor_(addrSpace->getNameGroup(), this),
    generalEditor_(addrSpace, component->getMasterInterfaces(addrSpace_->getName()), parameterFinder,
                   expressionParser, this),
    segmentsEditor_(addrSpace, component, handler->getDirectoryPath(*component->getVlnv()), parameterFinder,
                    expressionParser, expressionFormatter, this),
    localMemMapEditor_(addrSpace->getLocalMemoryMap(), component, handler, parameterFinder, expressionFormatter, 
                       this)
{
	Q_ASSERT(addrSpace_);

    nameEditor_.setTitle(tr("Address space name and description"));

    connect(&nameEditor_, SIGNAL(contentChanged()),	this, SIGNAL(contentChanged()), Qt::UniqueConnection);

    connect(&generalEditor_, SIGNAL(contentChanged()), this, SIGNAL(contentChanged()), Qt::UniqueConnection);
    connect(&generalEditor_, SIGNAL(graphicsChanged()), this, SIGNAL(graphicsChanged()), Qt::UniqueConnection);

    connect(&generalEditor_, SIGNAL(increaseReferences(QString)),
        this, SIGNAL(increaseReferences(QString)), Qt::UniqueConnection);
    connect(&generalEditor_, SIGNAL(decreaseReferences(QString)),
        this, SIGNAL(decreaseReferences(QString)), Qt::UniqueConnection);

    connect(&segmentsEditor_, SIGNAL(contentChanged()), this, SIGNAL(contentChanged()), Qt::UniqueConnection);
    connect(&segmentsEditor_, SIGNAL(contentChanged()), this, SIGNAL(graphicsChanged()), Qt::UniqueConnection);

    connect(&segmentsEditor_, SIGNAL(errorMessage(const QString&)),
        this, SIGNAL(errorMessage(const QString&)), Qt::UniqueConnection);
    connect(&segmentsEditor_, SIGNAL(noticeMessage(const QString&)),
        this, SIGNAL(noticeMessage(const QString&)), Qt::UniqueConnection);

	connect(&localMemMapEditor_, SIGNAL(contentChanged()), this, SIGNAL(contentChanged()), Qt::UniqueConnection);
    connect(&localMemMapEditor_, SIGNAL(graphicsChanged()), this, SIGNAL(graphicsChanged()), Qt::UniqueConnection);
    connect(&localMemMapEditor_, SIGNAL(errorMessage(const QString&)),
        this, SIGNAL(errorMessage(const QString&)), Qt::UniqueConnection);
	connect(&localMemMapEditor_, SIGNAL(itemAdded(int)),
		this, SIGNAL(childAdded(int)), Qt::UniqueConnection);
	connect(&localMemMapEditor_, SIGNAL(itemRemoved(int)),
		this, SIGNAL(childRemoved(int)), Qt::UniqueConnection);

    connect(&localMemMapEditor_, SIGNAL(increaseReferences(QString)),
        this, SIGNAL(increaseReferences(QString)), Qt::UniqueConnection);
    connect(&localMemMapEditor_, SIGNAL(decreaseReferences(QString)),
        this, SIGNAL(decreaseReferences(QString)), Qt::UniqueConnection);

    setupLayout();

	refresh();
}
开发者ID:kammoh,项目名称:kactus2,代码行数:60,代码来源:addressspaceeditor.cpp

示例7: QGroupBox

FilesEditor::FilesEditor( QSharedPointer<Component> component, 
						 QSharedPointer<FileSet> fileSet, 
						 LibraryInterface* handler,
						 QWidget *parent,
						 const QString& title):
QGroupBox(title, parent),
handler_(handler),
component_(component),
fileSet_(fileSet),
files_(fileSet->getFiles()),
view_(handler, component, this),
model_(handler, component, fileSet, this),
addFilesButton_(QIcon(":/icons/common/graphics/add.png"), tr("Add Files"), this) {

	QVBoxLayout* layout = new QVBoxLayout(this);
	layout->addWidget(&view_);
	layout->addWidget(&addFilesButton_, 0, Qt::AlignLeft);

	// files can not be imported/exported to a csv file
	view_.setAllowImportExport(false);

	view_.setModel(&model_);

	// the order of files must be maintained
	view_.setSortingEnabled(false);

	view_.setItemsDraggable(true);

	// set the delegate to provide editors
	view_.setItemDelegate(new FilesDelegate(this));

	connect(&addFilesButton_, SIGNAL(clicked(bool)),
		this, SLOT(onAddFiles()), Qt::UniqueConnection);
	connect(&view_, SIGNAL(addItem(const QModelIndex&, const QString&)),
		&model_, SLOT(onAddItem(const QModelIndex&, const QString&)), Qt::UniqueConnection);
	connect(&view_, SIGNAL(removeItem(const QModelIndex&)),
		&model_, SLOT(onRemoveItem(const QModelIndex&)), Qt::UniqueConnection);
	connect(&view_, SIGNAL(moveItem(const QModelIndex&, const QModelIndex&)),
		&model_, SLOT(onMoveItem(const QModelIndex&, const QModelIndex&)), Qt::UniqueConnection);
	connect(&model_, SIGNAL(contentChanged()),
		this, SIGNAL(contentChanged()), Qt::UniqueConnection);

	// the signals from model informing that a child is added/removed
	connect(&model_, SIGNAL(fileAdded(int)),
		this, SIGNAL(fileAdded(int)), Qt::UniqueConnection);
	connect(&model_, SIGNAL(fileRemoved(int)),
		this, SIGNAL(fileRemoved(int)), Qt::UniqueConnection);
	connect(&model_, SIGNAL(fileMoved(int, int)),
		this, SIGNAL(fileMoved(int, int)), Qt::UniqueConnection);
}
开发者ID:kammoh,项目名称:kactus2,代码行数:50,代码来源:fileseditor.cpp

示例8: if

bool SWBuildCommandModel::setData( const QModelIndex& index, const QVariant& value, int role /*= Qt::EditRole*/ ) {
	if (!index.isValid()) {
		return false;
	}

	// if row is invalid
	else if (index.row() < 0 || index.row() >= swBuildComs_.size()) {
		return false;
	}

	if (Qt::EditRole == role) {

		switch (index.column()) {
		case SWBuildDelegate::FILETYPE_COLUMN: {
			swBuildComs_[index.row()]->setFileType(value.toString());
			break;
															}
		case SWBuildDelegate::COMMAND_COLUMN: {
			swBuildComs_[index.row()]->setCommand(value.toString());
			break;
														  }
		case SWBuildDelegate::FLAGS_COLUMN: {
			swBuildComs_[index.row()]->setFlags(value.toString());
			break;
														}
		case SWBuildDelegate::REPLACE_DEF_COLUMN: {
			swBuildComs_[index.row()]->setReplaceDefaultFlags(value.toBool());
			break;
																}
		default: {
			return false;
					}
		}

		emit contentChanged();
		emit dataChanged(index, index);
		return true;
	}
	else if (role == Qt::CheckStateRole) {
		swBuildComs_.at(index.row())->setReplaceDefaultFlags(value == Qt::Checked);
		emit dataChanged(index, index);
		emit contentChanged();
		return true;
	}
	else {
		return false;
	}
}
开发者ID:kammoh,项目名称:kactus2,代码行数:48,代码来源:swbuildcommandmodel.cpp

示例9: updateContentViewer

void SCgNode::setContent(const QString& mimeType, const QVariant& data,
                         const QString& fileName, SCgContent::ContType cType)
{
    SCgContent::setContent(mimeType, data, fileName, cType);
    updateContentViewer();
    emit(contentChanged());
}
开发者ID:DavidBermuda,项目名称:kbe,代码行数:7,代码来源:scgnode.cpp

示例10: beginInsertRows

//-----------------------------------------------------------------------------
// Function: ApiFunctionParameterModel::onAdd()
//-----------------------------------------------------------------------------
void ApiFunctionParameterModel::onAdd()
{
    beginInsertRows(QModelIndex(), func_->getParamCount(), func_->getParamCount());
    func_->addParam(QSharedPointer<ApiFunctionParameter>(new ApiFunctionParameter()));
    endInsertRows();
    emit contentChanged();
}
开发者ID:kammoh,项目名称:kactus2,代码行数:10,代码来源:ApiFunctionParameterModel.cpp

示例11: connect

//-----------------------------------------------------------------------------
// Function: DrawingBoard::addAndOpenDocument()
//-----------------------------------------------------------------------------
void DrawingBoard::addAndOpenDocument(TabDocument* doc, bool forceUnlocked)
{
    if (forceUnlocked)
    {
        doc->setProtection(false);
    }
    else
    {
        // Open in unlocked mode by default only if the version is draft.
        doc->setProtection(doc->getDocumentVLNV().getVersion() != "draft");
    }

    connect(doc, SIGNAL(errorMessage(QString const&)),
            this, SIGNAL(errorMessage(QString const&)), Qt::UniqueConnection);
    connect(doc, SIGNAL(noticeMessage(QString const&)),
            this, SIGNAL(noticeMessage(QString const&)), Qt::UniqueConnection);

    connect(doc, SIGNAL(helpUrlRequested(QString const&)),
            this, SIGNAL(helpUrlRequested(QString const&)), Qt::UniqueConnection);

    connect(doc, SIGNAL(contentChanged()), this, SIGNAL(documentContentChanged()), Qt::UniqueConnection);
    connect(doc, SIGNAL(modifiedChanged(bool)), this, SIGNAL(documentModifiedChanged(bool)), Qt::UniqueConnection);
    connect(doc, SIGNAL(documentSaved(TabDocument*)),
            this, SLOT(onDocumentSaved(TabDocument*)), Qt::UniqueConnection);
    connect(doc, SIGNAL(titleChanged(TabDocument*, QString const&)),
            this, SLOT(onDocumentTitleChanged(TabDocument*, QString const&)), Qt::UniqueConnection);

    if (doc->getEditProvider() != 0)
    {
        connect(doc->getEditProvider(), SIGNAL(editStateChanged()), this, SIGNAL(documentEditStateChanged()));
    }

    addTab(doc, doc->getTitle());
    setCurrentWidget(doc);
}
开发者ID:kammoh,项目名称:kactus2,代码行数:38,代码来源:DrawingBoard.cpp

示例12: setText

//=============================================================================
// SLOT: Delete the image.
//=============================================================================
void CPhoto::slotDelete()
{
  QLabel::setPixmap (0);
  setText (tr("Photo"));
  mContentChanged = true;
  emit contentChanged();
}
开发者ID:BackupTheBerlios,项目名称:enixs,代码行数:10,代码来源:photo.cpp

示例13: contentRect

void PictureContent::addEffect(const PictureEffect & effect)
{
    if (!m_photo)
        return;

    m_photo->addEffect(effect);
    // adapt picture ratio after cropping
    if (effect.effect == PictureEffect::Crop) {
        QRect actualContentRect = contentRect();
        if ((actualContentRect.height() + actualContentRect.width()) > 0) {
            qreal reduceRatio = (qreal)(effect.rect.width()+effect.rect.height())/
                                (qreal)(actualContentRect.height() +actualContentRect.width());
            int newW = (int)((qreal)effect.rect.width()/reduceRatio);
            int newH = (int)((qreal)effect.rect.height()/reduceRatio);
            resizeContents(QRect(-newW/2, -newH/2, newW, newH), true);
        }
    }
    else if(effect.effect == PictureEffect::Opacity)
        setContentOpacity(effect.param);
    m_cachedPhoto = QPixmap();
    update();
    GFX_CHANGED();

    // notify image change
    emit contentChanged();
}
开发者ID:sanyaade,项目名称:fotowall,代码行数:26,代码来源:PictureContent.cpp

示例14: contentChanged

void CommentBlockModel::setContent(const QString content)
{
    if(m_HTMLcontent == content)
        return;
    m_HTMLcontent = content;
    emit contentChanged(m_HTMLcontent);
}
开发者ID:Sciss,项目名称:i-score,代码行数:7,代码来源:CommentBlockModel.cpp

示例15: if

//-----------------------------------------------------------------------------
// Function: ViewsModel::setData()
//-----------------------------------------------------------------------------
bool ViewsModel::setData(QModelIndex const& index, const QVariant& value, int role)
{
	if (!index.isValid() || index.row() < 0 || index.row() >= views_.size())
    {
		return false;
	}

    QSharedPointer<View> view = views_.at(index.row());

	if (role == Qt::EditRole)
    {
        if (index.column() == ViewsModel::NAME_COLUMN)
        {
            view->setName(value.toString());
        }
        else if (index.column() == ViewsModel::DESCRIPTION_COLUMN)
        {
            view->setDescription(value.toString());
        }
        // type is not edited directly, it is only shown
        else
        {
            return false;
        }

		emit dataChanged(index, index);
		emit contentChanged();
		return true;
	}
	else 
    {
		return false;
	}
}
开发者ID:kammoh,项目名称:kactus2,代码行数:37,代码来源:viewsmodel.cpp


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