Model-View: QListView dengan QStandardItemModel
Penjelasan
Qt memisahkan DATA (Model) dari TAMPILAN (View) lewat pola Model-View — QStandardItemModel menyimpan datanya, QListView/QTableView menampilkannya. Perubahan di model OTOMATIS terpantul ke view yang terhubung, mirip konsep reaktivitas di React/Vue tapi diimplementasikan lewat pola class terpisah, bukan reaktivitas bahasa.
Contoh Konsep
QStandardItemModel model;
model.appendRow(new QStandardItem("JavaScript"));
model.appendRow(new QStandardItem("TypeScript"));
model.appendRow(new QStandardItem("C++"));
QListView view;
view.setModel(&model); // hubungkan model ke view
view.show();
// Menambah item baru OTOMATIS terpantul ke tampilan:
model.appendRow(new QStandardItem("Dart"));
Praktikum
Buat QStandardItemModel berisi 3 item nama produk. Hubungkan ke QListView lewat setModel(). Tambahkan satu item baru setelah view ditampilkan, pastikan otomatis muncul di view.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pola Model-View memungkinkan SATU model dihubungkan ke BANYAK view sekaligus (mis. QListView dan QTableView menampilkan data yang sama dengan cara berbeda) — perubahan di satu tempat otomatis konsisten di semua view yang terhubung, tanpa perlu sinkronisasi manual.