Qt Combobox inhalt auslesen (pos erledigt)

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Qt Combobox inhalt auslesen (pos erledigt)

    servus, ich wollt mal fragen wie man am besten das gewählte item einer combobox herausbekommt.
    ich hab ein kleines c++ programm was mir nen text parset und zur zeit noch auf konsole aufgrund dieser dateien ein benutzermenu erstellt.
    jetzt wollte ich das ganze in eine graphische oberfläche packen.
    Das anordnen/füllen der Comboboxen sollte ich denk ich mal hinbekommen aber wie les ich diese dann wieder aus. hab hier nen buch von gallileo computing das hilft mir auch net wirklich weiter und gegooglet hab ich auch schon.
    ich verwende vs2008 mit qt 4.4.3.

    ich hab mal als versuch ne schleife gebastelt um ein wenig zu testen.
    hier mal der code:

    C-Quellcode

    1. #include <QtCore/QCoreApplication>
    2. #include <QtGui/QApplication>
    3. #include <QtGui/QGridLayout>
    4. #include <QtGui/QPushButton>
    5. #include <QtGui/QWidget>
    6. #include <QtCore/QObject>
    7. #include <QtGui/QComboBox>
    8. #include <iostream>
    9. const int ds = 22;
    10. int main(int argc, char *argv[])
    11. {
    12. int t=-1;
    13. QApplication a(argc, argv);
    14. QWidget * win = new QWidget;
    15. QComboBox * combo[ds];
    16. QGridLayout * grid = new QGridLayout(win);
    17. QPushButton * but[ds];
    18. for (int i=1; i<ds;i++)
    19. {
    20. if (i % 2)
    21. {
    22. //but[i] = new QPushButton("test");
    23. combo[i] = new QComboBox();
    24. //but[i]->setText("Hallo");
    25. grid->addWidget(combo[i],i,0);
    26. }
    27. else
    28. {
    29. //but[i] = new QPushButton("test");
    30. combo[i] = new QComboBox();
    31. for (int x=0; x<10; x++)
    32. {
    33. combo[i]->addItem("");
    34. }
    35. combo[i]->setItemText(0,"Test");
    36. combo[i]->setItemText(1,"Nocheienr");
    37. //but[i]->setText("Hallo Du");
    38. grid->addWidget(combo[i],i-1,1);
    39. }
    40. }
    41. combo[2]->highlighted(t); //das geht nicht warum???
    42. win->show();
    43. std::cout << t;
    44. return a.exec();
    45. }
    Alles anzeigen


    //edit: btw ich hab noch nich so viel erfahrung mit qt gerade was das mit den klassen angeht. desshalb wärs nett wenn ihr mir das möglichst so erklärt dass ichs auch verstehe.
    vielen dank greetz der f.o.g.
    Blacklist
    Meine UP's
    1 2

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von f.o.g. ()

  • Um das ausgewählte element auszulesen gibt es die Funktionen

    int currentIndex () const;
    und
    QString currentText () const;

    Außerdem hat QT dafür Signals definiert die du an eigene slots weitergeben kannst:
    void currentIndexChanged ( int index );
    und
    void currentIndexChanged ( const QString & text );

    Ich hab für die info übrigens nur 30 sekunden gegoogelt, weil solche infos in der QT4 Doku stehen ;) Qt 4.4.3: QComboBox Class Reference

    Gruß Zerd

    *edit*
    am besten fängst du einfach mal mit dem offiziellen QT tutorial an, dann wirds vielleicht was klarer wie das System funktioniert
    doc.trolltech.com/4.4/tutorials-tutorial.html
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • erstmal danke für die antwort ging ja richtig fix das werd ich mir direkt mal ansehn. hoofe schonmal, dass es klappt.


    //edit hab es jetzt als signal gemacht geht auch, aber aus irgend einem grund kann ich den wert nich an meine hauptfunktion übergeben..
    ich werd mich wohl nochmal ausgibig mit dem klassenprinzip auseinander setzten müssen. kennt jemand von euch nen gutes buch tutorial ebook oder so was mir das mal step by step erklärt. die oop ist ja nun doch recht neu für mich.

    //edit2 hab mitlerweile selbst alles gefunden und mich über das klassenprinzip informiert. jetzt ist mir so einiges klar geworden danke vielmals an zerd.
    in diesem sinne kann hier zu.
    Blacklist
    Meine UP's
    1 2

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von f.o.g. ()