Witam
Tworzę program głównie opierający się na QListView, mianowicie z pliku txt wczytuje do listy obiektów dane, następnie w QListView umieszczam zmienną nazwa która jest częścią każdego obiektu :
(ogólnie kod ma jakieś ~ 700 lini wkleje co najważniejsze)
for (int i = 0; i<obiekt.size(); i++)
{
list << obiekt[i].nazwa;
model->setStringList(list);
ui->Try->setModel(model); // Try czyli QListView
}
// w pliku .h
QStringListModel *model;
QStringList list;
// w konstruktorze
model = new QStringListModel(this);
Program ma działać tak aby po kliknięciu na daną nazwę w QListView umieścił resztę zmiennych w innych widgetach.
czyli :
void MainWindow::on_Try_doubleClicked(const QModelIndex &index)
{
// np.
int i = index.row();
ui->spinBox_1->setValue(obiekt[i].numer);
}
Wszystko działa dobrze, poza tym że dodaje mi spację zawsze gdy wczytuje QString do QLineEdit ale to mało ważne :)
Problem w tym że np. jeśli chce wczytać 2 plik to wypadało by wyczyścić QListView, albo jestem ślepy albo w dokumentacji nie ma jakiegoś prostego rozwiązania.
Drugi problem taki że np. usuwam jakiś obiekt z listy i też chcę aby został usunięty z QListView...czyli usuwanie pojedynczych obiektów...
Nie wiem czy w ogole użycie QStringListModel jest najlepszym pomysłem do tego typu rzeczy ?
Pozdrawiam