[Qt] Einfaches QListView will nicht


  • Mod

    Hallo,

    versuche gerade ein einfaches HelloWorld Programm für Qt zu bauen, ein einfaches QListView in das aus einem QLineEdit Werte eingefügt werden sollen.

    Doch irgendwie funktioniert dieser Code nicht:

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        //itemlist << "foo" << "bar";// hier wird nur bar angezeigt.
        ui->listView->setModel(new QStringListModel(itemlist));
       // ui->listView->model()->insertRows(ui->listView->model()->rowCount(),1);//bewirkt irgendwie auch nichts
        ui->listView->setModelColumn(0);
    }
    
    void MainWindow::on_pushButton_clicked()
    {
         ui->listView->model()->insertRows(ui->listView->model()->rowCount(),1);
        itemlist.append(ui->lineEdit->text());
    }
    

    Habe länger nichts mehr mit dem Model/View bereich gemacht, und verstehe das ganze gerade irgendwie nicht 😕


  • Mod

    So, hat sich geklärt, habe jetzt ein QListWidget genommen, und da klappts direkt so wie es soll. Toll 🙂

    Wie würde es mit ListView gehen?



  • Nicht so leicht mit QStringListModel 😉
    Das bietet ja nur "setStringList". Du könntest dir die aktuelle stringList() nehmen, da dein item anhängen und die neue stringList wieder setzen.

    Besser gleich QStandardItemModel nehmen. Speicher dir das model als Member, dann kannst du ganz einfach mit appendRow() ein neues Item anhängen.


Anmelden zum Antworten