import QtQuick import Qt.labs.qmlmodels // This needs a model, either TableModel or something inheriting QAbstractItemModel // According to docs TableView performance doesn't depend on model size // Needs 3 columns: timestamp, username, message Item { id: item Rectangle { id: rect TableView { id: table model: TableModel { TableModelColumn { display: "timestamp" } TableModelColumn { display: "displayname" } TableModelColumn { display: "message" } } } } function addChatMessage(message: ChatMessage) { // table.model } }