Уже голову сломал. Итак, есть QList<QString>
или QStringList
(не влияет на ошибку),
В одной функции я его создаю и отправляю в поле класса:
void AddDialog::onOkBtn(){
QList<QString> fields;
QString name = ui->itemName->text();
QString count = ui->itemCount->text();
QString price = ui->itemPrice->text();
QString date = ui->itemDate->text().replace('.', '-');
fields.push_back(name);
fields.push_back(count);
fields.push_back(price);
fields.push_back(date);
qDebug() << fields.size();
this->fields = fields;
emit accepted();
}
после этого в другом классе есть функция которая должна этот QList<QString>
обрабатывать:
void MainWindow::refresh()
{
QList<QString> fields = addWindow.getFields();
qDebug() << fields.size() << fields[0];
}
(getFields
лишь возвращает переменную fields):
QStringList AddDialog::getFields()
{
return this->fields;
}
Проблема в том, что когда я хочу получит любой элемент из fields с помощью []
или .at()
программа вылетает:
ASSERT failure in QList<T>::operator[]: "index out of range", file C:\Qt\Qt5.12.0\5.12.0\msvc2017_64\include\QtCore/qlist.h, line 552
тогда я подумал, может мой QList не дозодит до места использования, и решил просто вывести его длину:
qDebug() << fields.size();
Но! вместо числа 0 или 4 (я записывал в этот список 4 строки) я получаю сначала 0, а потом 4:
Вопросы:
1) почему я получаю 2 числа в консоль?
2) почему сначала 0, а потом 4,
3) как мне сделать так, чтоб я получал просто 4 и спокойно работал со списком?
Заранее спасибо.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пожалуйста, подскажите, как сделать анимацию появления текста, если текст меняется с помощью Jquery:
Каким способом можно navbar вытянуть на слайдер поверх его??? Чтобы под ним фон менялся, а сам navbarоставался там же Смотрел сайт У него была такая...