QVector使用示例

本文以实例形式介绍QVector::insert()  QVector::remove() 函数的使用方法。

源代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
	connect(ui->BtnRmvFrm, SIGNAL(clicked()), this, SLOT(OnClickRmv()));
	connect(ui->BtnInsert, SIGNAL(clicked()), this, SLOT(OnClickInsert()));
	connect(ui->BtnSetVec, SIGNAL(clicked()), this, SLOT(OnClickSetVec()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::OnClickSetVec(void)
{
	m_qvec.clear();
	QString qstrInput = ui->EdtVec->text();
	QStringList qstrLst = qstrInput.split(QString(","));
	int iSize = qstrLst.size();
	bool bSuccess;
	for(int k = 0; k < iSize; k++)
	{
		short iElement = qstrLst[k].toInt(&bSuccess);
		if(bSuccess)
			m_qvec<<iElement;
	}

	qDebug()<<"set"<<m_qvec;
}

void MainWindow::OnClickInsert(void)
{
	QString qstrPos = ui->EdtAddIndex->text();
	QString qstrVal = ui->EdtAddVal->text();

	bool bSuccess;
	short sPos = qstrPos.toInt(&bSuccess), sVal = qstrVal.toInt(&bSuccess);
	m_qvec.insert(sPos, sVal);
	qDebug()<<"insert"<<m_qvec;
}

void MainWindow::OnClickRmv(void)
{
	QString qstrPos = ui->EdtRmv->text();
	bool bSuccess;
	short sPos = qstrPos.toInt(&bSuccess);
	int iSize = m_qvec.size();

	m_qvec.remove(sPos, iSize - sPos);

	qDebug()<<"remove"<<m_qvec;
}

效果:

1)点击界面的set按钮,qDebug将打印m_qvec的内容:

2) 点击界面的insert按钮,程序将在元素3的前面(第零个元素是1,第三个元素是4,所以是在4之前)插入一个0,并打印

3) 点击界面的remove按钮,程序将把元素2后面的成员全部删除:

发布了148 篇原创文章 · 获赞 46 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/liji_digital/article/details/90317058