Условие срабатывает один раз, даже если несколько знаков + в строке , В чем причина?

       mainwindow.h
      QLineEdit *textEdit;
  QString new_Label;
      mainwindow.cpp

     connect(knopka15,SIGNAL(clicked()),this,SLOT (operation1()));

       void MainWindow::operation1()
      {
      int values=0;
       int d=0;
     int s=0;

       for ( d; d < new_Label.size(); d++)
    {

    if ( new_Label[d] == '+')
     {

   int valuex =new_Label[s].digitValue();
    s=s+2;
    values=values+valuex;
     new_Label = QString::number(values);
      }

Условие срабатывает один раз, даже если несколько знаков + в строке , В чем причина ?


Ответы (1 шт):

Автор решения: gbg

Ну, если внимательно посмотреть на код, можно увидеть, что после первого же нахождения плюсика, текст в исследуемой строке заменяется: new_Label = QString::number(values);

В такой штуке плюсиков точно нет, вот он их и не находит.

→ Ссылка