У меня есть QTableview. У меня есть прикрепленная к нему модель. У меня есть бесконечное время l oop, в котором я отправляю и получаю сообщения с сервера. Когда я получаю сообщение, я хочу добавить строку в свою таблицу.
Моя проблема в том, что я не могу заставить эту идею работать. Когда я делаю while (true)
, это не работает.
Я был бы признателен, если бы кто-то мог мне помочь.
Вот фрагмент кода, о котором я говорю:
model = new QStandardItemModel(4,1,this);
ui->tableView->setModel(model);
ui->tableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
while (true)
{
// Server response
reciever_input.wait_for_recieve();
std::vector<std::string> res = decode_msg(_serverResponse.front());
unsigned int it;
it = 8;
if (res[0] == "Y")
{
int row = 0;
//here I want to add rows in my table
for (; it < res.size(); it++, row++)
{
std::string temp = res[it]; // this is the string that I want to add
QString qtemp = QString::fromUtf8(temp.c_str());
QModelIndex index = model->index(row,0,QModelIndex());
model->setData(index,qtemp);
}
}
if (res[0] == "L")
break;
}