QListWidget Prüfen ob eine Item gewählt wude

Alles rund um die Programmierung mit Qt
Antworten
petri253
Beiträge: 6
Registriert: 27. Dezember 2010 20:14
Wohnort: Thüringen

QListWidget Prüfen ob eine Item gewählt wude

Beitrag von petri253 »

Vermutlich ist die Antwort einfach, aber trotz langer Suche und probieren habe ich keine Lösung für mein Problem gefunden.
Ziel ist es Daten in einer Datenbank zu speichern. Zu Erfassung stehen mehrere Text- aber auch Listenfeldern mit vorgegebenen Werten zur Verfügung.
Vor Speichern der Daten in der Datenbank soll geprüft werden, ob in jeden Listenfeld auch ein Wert gewählt wurde.

Mein Versuch war zum Beispiel

Code: Alles auswählen

  if    (ui->listerfasskat->currentItem()->text().toLocal8Bit() == "") {

        QMessageBox::critical(this, "Achtung", "Kategorie nicht erfasst \n Bitte aendern .", QMessageBox::Ok);

        }
Funktioniert natürlich nicht, weil ja kein Item gewählt wurde. Programm stürzt dann ab.
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: QListWidget Prüfen ob eine Item gewählt wude

Beitrag von ScyllaIllciz »

QString hat eine Methode "isEmpty()" ;-) also:

Code: Alles auswählen

ui->listerfasskat->currentItem()->text().isEmpty()
petri253
Beiträge: 6
Registriert: 27. Dezember 2010 20:14
Wohnort: Thüringen

Re: QListWidget Prüfen ob eine Item gewählt wude

Beitrag von petri253 »

Danke für die Antwort. Hier stürzt das Programm aber trotzdem ab. Ich denke, dass liegt daran, dass mangels erfolgter Auswahl, gar kein "currentItem" zur Prüfung vorhanden ist.
Genau , dass will ich prüfen. Ich habe es so probiert:

Code: Alles auswählen

 if    (ui->listerfasskat->currentItem()->text().isEmpty()) {

        QMessageBox::critical(this, "Achtung", "Kategorie nicht erfasst \n Bitte aendern .", QMessageBox::Ok);

       }

Beim Erstellen kommt kein Fehler. das Programm stürzt ab, wenn kein Wert selektiert
Kommentiere ich es aus, funktioniert das Programm. Es speichert aber dann einen Null - Wert, wenn in einer Liste kein Wert gewählt wurde.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QListWidget Prüfen ob eine Item gewählt wude

Beitrag von Christian81 »

Dann solltest Du prüfen ob currentItem NULL ist oder nicht...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
petri253
Beiträge: 6
Registriert: 27. Dezember 2010 20:14
Wohnort: Thüringen

Re: QListWidget Prüfen ob eine Item gewählt wude

Beitrag von petri253 »

Das wars :D . Danke. Die Lösung sieht jetzt so aus und es funktioniert.

Code: Alles auswählen

    if    (ui->listerfasskat->currentItem() == 0) {

            QMessageBox::critical(this, "Achtung", "Kategorie nicht erfasst \n Bitte aendern .", QMessageBox::Ok);

           }




Antworten