QListWidget::findItems



  • Hallo,
    ich lerne seit 9 Monaten nebenher C++ und möchte, dass nur neue Einträge in ein ListWidget aufgenommen werden sollen. Dazu muss ich die Eingabe prüfen, und nur wenn ein Unterschied in den Einträgen besteht, darf dieser Eintrag ins ListWidget eingetragen werden.
    Dazu wollte ich die Methode "findItems" verwenden.
    Leider finde ich nirgendwo ein Beispiel, wie das richtig verwendet wird (auch von der Syntax her).
    Alle meine Versuche landen bei roten Flaggen.
    Kann mir Jemand sagen, wie man damit "richtig" umgeht?
    Danke schon im Voraus

    Steevie



  • Hallo,
    Ich verwende den Aufruf so:
    QList<QListWidgetItem *> matches=ui.m_lstArray->findItems(szToFind,Qt::MatchExactly);
    ui.m_lstArray ist in meinem Fall ein QListWidget-pointer in einem Dialog erzeugt aus einer *.ui Resourcedatei.
    Michael.



  • Danke für die Antwort.
    Aber es funtioniert noch nicht.
    Und wie kann ich das Ergbenis (wenn ich denn eins bekomme) erkennen und weiter verarbeiten?mein Versuch sieht momentan folgendermassen aus:

        QList<QListWidgetItem*> meineListe;
        meineListe = ui->listWidget->findItems(ui->webView->url(), Qt::MatchExactly);
    

    Wo sind meine Fehler?

    Danke

    Steevie



  • Wie sieht der Code aus, der das ListWidget "ui->listWidget" füllt?
    Was geht überhaupt schief? Kompiliert es nicht? Ist die Ergebisliste leer?
    -Michael.


  • Qt Champions 2016

    Ich glaube, Sie URL-String umwandeln sollte.
    Sorry für mein Deutsch.

    QListWidget::findItems(const QString & text)
    http://doc.qt.io/qt-4.8/qwebview.html#url-prop
    http://doc.qt.io/qt-4.8/qurl.html#toString

    meineListe = ui->listWidget->findItems(ui->webView->url().toString(), Qt::MatchExactly);



  • Danke für die Antworten!
    Jetzt klappt es und mein Code sieht so aus:

    QList<QListWidgetItem*> meineListe;
    meineListe = ui->listWidget->findItems(ui->webView->url().toString(), Qt::MatchExactly);
    meineListe.count();

        if  (meineListe.count()==0).....
    

    Bei weiteren Fragen melde ich mich wieder.

    Danke nochmal

    Steevie


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.