Zugriff auf ausgewählte Wert von QcomboBox

Habe ich ein QcomboBox in gui-widget ,und ich Element hinzufügen

for(int i = 1; i < 31; i++)
        {
            ui->combo->addItem(QString::number(i));
        }

und in QComboBox-slot möchte ich, um ausgewählten Wert durch

int index =ui->combo->itemData( ui->combo->currentText());

aber Fehler haben :316: error: no matching function for call to 'QComboBox::itemData(QString)'

wenn ich currentIndex statt currentText geben 0 zurück, wenn es zu drucken;
addItem bekommen Qstring ,

void QComboBox::addItem(const QString & text, const QVariant & userData = QVariant())

und ItemData Arbeit mit currentIndex,

Benutze ich insertItem und es hat sae-Fehler ,also wie kann der eingestellte Wert oder text und slected Wert??

  • es ist der falsche Typ I bearbeitet
  • Warum nicht Sie juse verwenden int index = ui->combo->currentIndex();? In dem code, den Sie gepostet haben, die Sie nie legen Sie keine Daten auf das Kombinationsfeld, das ist, warum itemData 0 zurück. Oder, wenn Sie wollen, um den aktuellen text verwenden Sie einfach QString selected_text = ui->combo->currentText();.
  • wenn ich diese index = ui->combo->currentIndex(); wenn ich das Programm bekommen, currentindex, ohne zu wählen ,zum Beispiel wenn ich 1 bis 31, wenn Sie ausgeführt werden, ohne wählen Sie currentindex ist 1
  • Ich Daten von diesem Weg ui->combo->addItem(QString::number(i)); und ich versuche insertItem() , haben Sie 0 zurück,so wie Daten??
  • Das ist nicht das gleiche wie QComboBox::setItemData. Trotzdem ist das problem nicht da. currentIndex/currentText funktionieren sollte. Wo sehen Sie selbst-check für das currentIndex/currentText? Haben Sie einen Steckplatz auf irgendein signal von Ihrem combo-box?
  • Ich comboBox in der gui ein und gehen auf slot comboBox,in den slot nach index= ui->setfreq->itemData(ui->setfreq->currentIndex()).toInt(); ich qDebug() << "current index:"<<index; Ausdruck 0.
  • Welcher slot? Und wieder, wie ich bereits erwähnt habe, mit itemData wie, dass wird Ihnen keine gültigen Daten. Verwenden index = ui->setfreq->currentIndex und sehen, was das gibt. Überprüfen Sie meine Antwort für ein funktionsfähiges Beispiel.

InformationsquelleAutor g1331 | 2016-04-26
Schreibe einen Kommentar