本文整理汇总了C++中QVector::removeAt方法的典型用法代码示例。如果您正苦于以下问题:C++ QVector::removeAt方法的具体用法?C++ QVector::removeAt怎么用?C++ QVector::removeAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QVector
的用法示例。
在下文中一共展示了QVector::removeAt方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: save
bool BootstrapModelPrivate::save()
{
QString ret;
for(const Lines* l : m_lines) {
if (!l->hostname.trimmed().isEmpty()) {
if (ret.size())
ret += ';';
ret += l->hostname + (l->port > -1? ':'+QString::number(l->port):QString());
}
}
//Clear empty lines
bool val = true;
for(int i=0;i<m_lines.size();i++) {
Lines* l = m_lines[i];
if (l->hostname.isEmpty() && l->port == -1) {
q_ptr->beginRemoveRows(QModelIndex(),i,i);
const int idx = m_lines.indexOf(l);
if (idx >= 0)
m_lines.removeAt(idx);
q_ptr->endRemoveRows();
val = false;
}
}
m_pAccount->d_ptr->setAccountProperty(DRing::Account::ConfProperties::HOSTNAME,ret);
return val;
}
示例2: on_del_clicked
void MainWindow::on_del_clicked()
{
if(ui->listWidget->count()<=1||ui->listWidget->currentRow()<0||!firstStart)
return;
int removeIndex=ui->listWidget->currentRow();
if(removeIndex==currentSegIndex)
return;
for(int i=ui->listWidget->count()-1;i>removeIndex;i--)
ui->listWidget->item(i)->setText(QString::number(i));
QListWidgetItem* item=ui->listWidget->takeItem(removeIndex);
delete item;
segTime.removeAt(removeIndex);
updateSpinBoxTime();
on_listWidget_itemSelectionChanged();
}
示例3: throwBalls
void Field::throwBalls(int num, bool directly)
{
QVector<QPoint> free;
free.fill(QPoint(0, 0), W * H);
int nFree = 0;
for (int i = 0; i < W; i++)
for (int j = 0; j < H; j++)
if (at(i, j) == 0)
{
free[nFree] = QPoint(i, j);
nFree++;
}
#ifdef QT_DEBUG
for (int i = 0; i < W * H; i++)
{
//qDebug("%d, %d", free[i].x(), free[i].y());
}
#endif
//return;
QList<SuggestedBall> ballsToThrow;
for (int n = 0; n < num; n++)
{
if (nFree > 0)
{
int at = qrand() % nFree;
ballsToThrow.append({ free[at], qrand() % COLORS + 1, NULL, NULL });
free.removeAt(at);
nFree--;
}
else
ballsToThrow.append({ QPoint(-1, -1), qrand() % COLORS + 1, NULL, NULL });
}
if (directly)
{
// This is needed on startup only, therefore do nothing except placing balls
foreach (auto ball, ballsToThrow)
{
setAt(ball.pt, ball.color);
QGraphicsObject *item = new SvgRendererItem(ResourceLoader::instance()->ball(ball.color));
item->setPos(ball.pt * CELL_SIZE);
item->setZValue(3);
m_scene->addItem(item);
setVectorAt(m_fieldItems, ball.pt, item);
}
}
示例4: deleteitem
void Dialog::deleteitem()
{
//int detext=(deindex->text().isEmpty())?count:(deindex->text().toInt());
int detext=deindex->text().toInt();
if(detext<=0||detext>count)
{
QMessageBox::critical(NULL, "输入错误", "输入数字不在范围内",QMessageBox::Yes | QMessageBox::No,QMessageBox::Yes);
}else{
QString str="确定要删除第"+QString::number(detext)+"篇文献?";
QMessageBox message(QMessageBox::Question,"检查",str,QMessageBox::Ok|QMessageBox::Cancel,NULL);
if(message.exec()==QMessageBox::Ok)
{
textresult.removeAt(detext-1);
// textresult.resize(textresult.size()-1);
count--;
updatetext();
}
}
}
示例5: calculateVectorInput
// calculateVectorInput(QVector<ExpressionElement> input)
//
//
//
ExpressionElement StringCalculator::calculateVectorInput(QVector<ExpressionElement> input)
{
// Copy the old list that we will boil down to
// a single expression element.
QVector<ExpressionElement> modifiableVector = QVector<ExpressionElement>(input);
// Put in implied constants at the beginning
if(!input.at(0).isNumber_)
{
if(input.at(0).op_ == "-" || input.at(0).op_ == "+") // Allow for negative numbers
{
modifiableVector.insert(0, ExpressionElement(0));
}
else if(input.at(0).op_ == "*" || input.at(0).op_ == "/" || input.at(0).op_ == "^") // Complain when we begin with these
{
// SYNTAX ERROR
throw 101;
}
else // Allow for stuff like "sin(45)" and "log(100)"
{
modifiableVector.insert(0, ExpressionElement(1));
}
}
// Put in implied constants at the end.
if(!input.at(input.size()-1).isNumber_)
{
if(input.at(input.size()-1).op_ == "pi"
|| input.at(input.size()-1).op_ == "e"
|| input.at(input.size()-1).op_ == "!")
{
modifiableVector.append(ExpressionElement(1));
}
else
{
// SYNTAX ERROR
throw 102;
}
}
if(modifiableVector.size() == 2)
{
// INTERNAL ERROR: It's impossible to have an ExpressionElement vector
// of size 2
throw 100;
}
// BEGIN LOOPS
// --------------------------------
// Loop through every operation, in the order defined by OP_ORDER
for(int opIndex = 0; opIndex < OP_ORDER.size(); opIndex++)
{
int opCount = 0; // Represents the number of this type of operation in the list.
for(int e = 0; e < modifiableVector.size(); e++)
{
ExpressionElement elem = modifiableVector[e];
if(!elem.isNumber_)
{
if(elem.op_ == OP_ORDER[opIndex]) // Check to see if this is our operation
{
opCount++;
}
}
}
// Go through every operation of this type first and calculate it out.
while(opCount > 0)
{
int i = 0; // Iterator for each operation
while(i < modifiableVector.size()-2)
{
// Get the element in front of this one, and check if it's an operation.
ExpressionElement opElement = modifiableVector[i+1];
if(!opElement.isNumber_)
{
if(opElement.op_ == OP_ORDER[opIndex])
{
// TODO:
// We need a try catch here for when the calc doesn't work
QVector<ExpressionElement> calculatedElements = opElement.calc(modifiableVector[i], modifiableVector[i+2]);
// Remove these 3 and substitute my own elements.
modifiableVector.removeAt(i+2);
modifiableVector.removeAt(i+1);
modifiableVector.removeAt(i);
for(int j = calculatedElements.size() - 1; j >= 0; j--)
{
// Insert the elements in reverse order. This is due to how insertion works.
modifiableVector.insert(i, calculatedElements.at(j));
}
}
opCount--; // We removed the element from the list
}
//.........这里部分代码省略.........
示例6: removeChild
void BaseEditorProperty::removeChild(int index)
{
delete m_children[index];
m_children.removeAt(index);
}