Добрейшего дня. Вопросик такой. Я пытаюсь создать чат(переписку) между двумя людьми и хотелось бы сделать так, что когда человек пишет второе сообщение подряд, то сообщение просто добавлялось к предыдущему сообщению.
Как есть сейчас
Когда я добавляю текст, то получаю что-то вроде
Что и логично, потому что, размер item на QListWidget не изменяется, тогда я попробовал его менять, но приложение падает. Вот код:
C++ (Qt)
void wdgForLC::on_pbt_Send_clicked()
{
if(!ui->inputtext_te->toPlainText().trimmed().isEmpty())
{
if (!mIsClientWrite)
{
newMsg = new dlgChatLk();
paintMessage(ui->inputtext_te->toPlainText());
ui->inputtext_te->setText("");
} else
{
appendMessege(ui->inputtext_te->toPlainText());
ui->inputtext_te->setText("");
}
}
}
void wdgForLC::paintMessage(QString msgText)
{
QListWidgetItem *item= new QListWidgetItem();
newMsg->setMessege(msgText);
newMsg->show();
QSize itemSize(newMsg->width(),newMsg->height());
item->setSizeHint(itemSize);
ui->chatWidget->addItem(item);
ui->chatWidget->setItemWidget(item,newMsg);
mIsClientWrite = true;
}
void wdgForLC::appendMessege(QString msgText)
{
qDebug() << ui->chatWidget->count();
QListWidgetItem *item = ui->chatWidget->item(ui->chatWidget->count());
newMsg->appendMessege(msgText);
newMsg->show();
QSize itemSize(newMsg->width(),newMsg->height());
item->setSizeHint(itemSize);
}
Может кто-нибудь делал что-то похожее, может есть советы, или указания, что я делаю не так?