[gelöst] fragen zur QGroupbox

Alles rund um die Programmierung mit Qt
Antworten
december_soul
Beiträge: 17
Registriert: 8. April 2005 18:52

[gelöst] fragen zur QGroupbox

Beitrag von december_soul »

Ich komme mir langsam etwas doof vor.

Jetzt wo ich es mit den Threads hinbekommen habe, habe ich andere Probleme.

Ich habe nun meine Oberfläche per Hand geschrieben.
Um meine QLablens nun aber etwas besser voneinander zu trennen und auch zu beschrieften, will ich die die nun in Groupboxen packen.

QGroupbox sind im Grunde ja ählich wie ein Layout.

Nur bekomme ich es nicht hin.

Hier ein auszug aus meinem Code.
this ist ein QWidget.

Als ersts wird mein GrundLayout "vbox"(hmm da sollte ich mir nochmal was ausdenken) angelegt.
Dann erstelle ich eine Groupbox "gbox0".
Für diese Goupbox wird ein Gridlayout mit der Groupbox als Parent erzeugt."gbox0Layout"
Dem neuen Layout (gbox0Layout) füge ich dann ein qlabeln (qlpixmap0) zu.

Leider scheint das so nicht zu gehen.
Was habe ich da vertauscht?

Code: Alles auswählen

    QGridLayout *vbox = new QGridLayout(this, 5, 5);
    
    QGroupBox *gbox0 = new QGroupBox("Ueberschrift fuer Groupbox",this);    
    QGridLayout *gbox0Layout = new QGridLayout(gbox0,5,5);        
    gbox0Layout->addWidget(qlpixMap0,0,0);
    
    vbox->addWidget(startbutton,0,0);
    vbox->addWidget(gbox0,3,3);

    vbox->addWidget(qlpixMap1,1,1);
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Alles was du in das GroupBoxLayout bringen willst, musst du dann auch in das GroupBoxLayout tun, nicht in das vbox Layout. Das vbox Layout braucht später nur die GroupBox auszunehmen.

Layout
- GroupBox
-- GroupBoxLayout
--- Widget1
--- Widget2
--- Widget3

Bei dir ist das irgendwie so:
Layout
- GroupBox
-- GroupBoxLayout
--- Widget1
- Widget2
- Widget3

Ich kann dir nur empfehlen kein Grid Layout zu verwenden, wenn es nicht sein muss. Und vielleicht deine Widgets mit dem Designer zu machen. lepsai hat mal gesagt, auf für komplexe Problemstellungen, Designer verwenden. Recht hat er.
december_soul
Beiträge: 17
Registriert: 8. April 2005 18:52

Beitrag von december_soul »

danke für die Antwort.

Ich bin mit dem Designer nicht so gut klargekommen.

Kann ich meine Code den ich bis jetzt geschrieben habe mit dem Designer verändern?

Ich glaube ich habe da einen Gedankenfehler.

Also:

Ich erstelle ein
QVBoxLayout *vbox = new QVBoxLayout(this,110,6);

Dann erstelle ich eine Groupbox
QGroupBox *gbox0 = new QGroupBox("Ueberschrift fuer Groupbox",this);

Dieser Groupbox gebe ich ein Layout
QVBoxLayout *gbox0Layout = new QVBoxLayout(gbox0);

Dem GroupboxLayout füge ich dann etwas zu.
gbox0Layout->addWidget(qlpixMap0);

Und zum schluss füge ich die Groupbox noch zum "mail" Formulat zu.
vbox->addWidget(gbox0);



Das ist doch genau das was Du gesagt hast oder?
Layout (vbox)
- GroupBox (gbox0)
-- GroupBoxLayout (gbox0Layout)
--- Widget1 (qlpixMap0)
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

tschuldige wenn ich mich einmische
Kann ich meine Code den ich bis jetzt geschrieben habe mit dem Designer verändern?
Nein das geht wohl nicht, der Designer liest nur die *.ui Files. Du kannst aber folgendes machen.

1. baue Dein Widget im Designer, wie es Dir vorschwebt
2. erzeuge aus dem *.ui File das *.cpp File mit dem uic - compiler
3. schau Dir im *.cpp File an, wie der uic - compiler das Widget zusammengebaut hat

Meistens klärt der Blick auf die von uic.exe erzeugten Sourcen eine Menge Fragen

Gruss Arne
december_soul
Beiträge: 17
Registriert: 8. April 2005 18:52

Beitrag von december_soul »

danke.
Der aufruf heißt bei mir:

# uic-qt3 -impl egal.h form2.ui -o form2.cpp

Nun kann ich mir immer gute Beispiel erzeugen...
Antworten