LineEdit ähnlich wie mit ButtonGroup über Index ansprechen
Verfasst: 29. Januar 2009 10:43
Ich bin dabei ein Dialogfenster zu entwerfen, indem untereinander immer wieder derselbe Aufbau folgt.
LineEdit -- Button1 -- Button2
LineEdit -- Button1 -- Button2
LineEdit -- Button1 -- Button2
.
.
.
Das "clicked" Ereigniss der Buttons führt immer zu derselben Funktion. Jeder Button bewirkt aber etwas anderes. Um mir Schreibarbeit zu sparen habe ich für die Buttons eine Buttongroup gewählt. Das mit der Indizierung funktioniert sehr gut aber wie kann ich die LineEdit Elemente indizieren, damit ich die Eingabe aus dem entsprechenden LineEdit benutzen kann.
Für die Initialisierung der Element habe ich folgenden Code benutzt um einen übersichtlichen Code zu erhalten.
Die ButtonGroup liefert für ein clicked--Ereignis immer den Index des entsprechenden Buttons mit, aber leider indiziert die ButtonGroup nicht die LineEdits. Da gibt es ja noch eine GroupBox aber meines Erachtens indiziert die garnix.
Was ich mir von dieser ganzen Indizierung erhoffe ist einfach ein lesbarer Code. Denn sonst müsste ich ja für jeden Einzelnen Button ein connect Befehl schreiben und auch jeden einzelnen Button initialisieren.
Kann mir da jemand helfen?
LineEdit -- Button1 -- Button2
LineEdit -- Button1 -- Button2
LineEdit -- Button1 -- Button2
.
.
.
Das "clicked" Ereigniss der Buttons führt immer zu derselben Funktion. Jeder Button bewirkt aber etwas anderes. Um mir Schreibarbeit zu sparen habe ich für die Buttons eine Buttongroup gewählt. Das mit der Indizierung funktioniert sehr gut aber wie kann ich die LineEdit Elemente indizieren, damit ich die Eingabe aus dem entsprechenden LineEdit benutzen kann.
Für die Initialisierung der Element habe ich folgenden Code benutzt um einen übersichtlichen Code zu erhalten.
Code: Alles auswählen
bgroup = new QButtonGroup(4, Qt::Horizontal, this );
bgroup->setInsideMargin(5);
bgroup->setInsideSpacing(10);
for ( i=0; (n=myButtonLabels[i].axes_name) != 0; i++ )
{
QLabel *axis = new QLabel(n, bgroup);
ld = new QLineEdit( bgroup, "line"+QString::number(i) );
QPushButton *pb_rel = new QPushButton( "Rel", bgroup );
QPushButton *rb_abs = new QPushButton( "Abs", bgroup );
}
Was ich mir von dieser ganzen Indizierung erhoffe ist einfach ein lesbarer Code. Denn sonst müsste ich ja für jeden Einzelnen Button ein connect Befehl schreiben und auch jeden einzelnen Button initialisieren.
Kann mir da jemand helfen?