Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Сентябрь 09, 2012, 10:14



Название: QList - removeAt неуменьшает size()
Отправлено: Alex_C от Сентябрь 09, 2012, 10:14
Есть код

Код
C++ (Qt)
QList<CatTcpThread*> m_threads;
 
 
void CatTcpServer::slot_removeThread()
{
   qDebug() << "Remove thread";
   CatTcpThread *thread = qobject_cast<CatTcpThread*>(sender());
   m_threads.removeAt(m_threads.indexOf(thread));
   qDebug() << m_threads.size();
   if(m_threads.size() == 0)
       slot_endWork();
}
 

Идея понятна - когда в списке не останется элементов - выйти из программы.
Но после removeAt, size() выдает столько же элементов, сколько и было. Почему?


Название: Re: QList - removeAt неуменьшает size()
Отправлено: Igors от Сентябрь 09, 2012, 10:33
Распечатать thread и indexOf(thread). Да и вообще - на вопросы надо отвечать только "да" или "нет"  :)


Название: Re: QList - removeAt неуменьшает size()
Отправлено: Alex_C от Сентябрь 09, 2012, 10:42
 ;D пойду погуляю. Такой тупой вопрос задал! ))) Конечно потому что indexOf(thread) = -1