Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Namen einer QCkeckbox aus Variablen zusammensetzen

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.11.2002
    Ort
    Obertshausen
    Beiträge
    87

    Namen einer QCkeckbox aus Variablen zusammensetzen

    Hallo zusammen,

    da bin ich mal wieder mit einer neuen Frage:

    Wie kann ich den Namen eines Objekts aus Variablen zusammensetzen?

    Oh jeh, ich weiss noch nicht mal, ob die Frage so richtig gestellt ist.
    Deshalb ein kleines Beispiel:

    Ich habe 10 QCheckBoxes benannt mit cb_1, cb_2 ... cb_10

    Nun möchte ich in einer for Schleife den Status aller 10 Checkboxen abfragen, um etwas damit zu tun
    Code:
    for (int i = 1 ; i <= 10; i++)
    {
    if ( cb_+i ->isChecked() ) do_something()
    }
    Dummerweise ist aber "cb_+i" für QT keine QCheckbox.

    Wie muss ich es also schreiben, damit QT cb_+i als cb_1 oder cb_2 akzeptiert??

    Sachdienliche Hinweise sind sehr willkommen.

    Könnte mir vorstellen, dass es dazu schon was im Forum gibt, habe aber keine gescheiten Suchbegriffe gefunden.
    Celindir
    May the source be with you...

    www.celindir.de

  2. #2
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    hey,


    wie waere es mit einem array von checkboxes?

    QCheckBox* checkboxes[10];

    in deinem ctor dann halt sowas:

    checkboxes[1] = new QCheckBox( "blablub", this );

    und deine schleife:

    for( int i=0; i < 10; ++i ) {
    if( checkboxes[i] -> isChecked() ) do_something();
    }


    gruss,

    tuxipuxi.

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: Namen einer QCkeckbox aus Variablen zusammensetzen

    Original geschrieben von celindir

    Dummerweise ist aber "cb_+i" für QT keine QCheckbox.

    Wie muss ich es also schreiben, damit QT cb_+i als cb_1 oder cb_2 akzeptiert??
    Das hat nichts mit Qt zu tun, das ist schon eine Frage im C++

    Der + Operator auf einen Pointer ist ein Indexzugriff (Pointerarithmetik). Da dein Pointer aber nicht auf eine Posttion in einem Array zeigt, dürfte das einen Segfaukt produzieren.

    Wenn die Anzahl der Checkboxen konstanz ist, würde ich den Vorschlag von tuxipuxi versuchen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer
    Registriert seit
    14.11.2002
    Ort
    Obertshausen
    Beiträge
    87
    Hi zusammen,

    Danke für die Erläterungen und den Vorschlag.

    Die Variante mit dem Array hat funktioniert.

    Gruß
    Celindir
    May the source be with you...

    www.celindir.de

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •