Hallo,
ich habe ein Fenster.
Auf dieses erstellen ich (verschachtelt) 2 QScrollArea's.
Das klappt wunderbar.
Ich kann auch text in den 2 scrollareas ausgeben.
was nicht klappt ist,
wenn ich zuerst die beiden scrollareas erstelle und danach das label, dann wird das Textlabel über beide scrollareas gezeichnet.
obwohl die parent eigenschaften alle stimmen.
wie kann ich neu zeichen, also von hinten nach vorne?
oider habt ihr andere ideen oder vorschläge?
gruß
jens
Panel überlagert Label nicht
Panel überlagert Label nicht
- Dateianhänge
-
- scr.jpg (170.84 KiB) 1996 mal betrachtet
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Und vor allem relevanten Code posten. Der Screenshot zeigt zwar Code, aber der hat absolut nichts mit Qt zu tun...
Und eine GUTE (!) Erklärung, sollte auch noch her, was du dir am Ende vorstellst. Ich würde als erstes sagen "verwende Layouts!" - aber ohne Infos kann man nicht sagen wo und wie - und überhaupt ob...
Und eine GUTE (!) Erklärung, sollte auch noch her, was du dir am Ende vorstellst. Ich würde als erstes sagen "verwende Layouts!" - aber ohne Infos kann man nicht sagen wo und wie - und überhaupt ob...
Re: Panel überlagert Label nicht
Dir ist aber schon klar das das parent'ing NIX mit dem Layout zu tun hat? Wenn nicht, schau dir die Beispiele an und lies API.paule22 hat geschrieben:<snipp>obwohl die parent eigenschaften alle stimmen<snapp>
So könnts gehen:
Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// mach ne neue ScrollArea
QScrollArea s1 = QScrollArea; // aufm stack, damits nacher alles abräumt
{
QVBoxLayout *vbl1 = new QVBoxLayout(&s1); // das macht automatisch s1->setLayout wenn du einem Layout ein Widget als parent gibst
vbl1->addWidget(new QLabel("Label1")); // mach dan label rein
QScrollArea * s2 = new QScrollArea; // neue scrollarea hier mal ohne parent
{
QVBoxLayout *vbl2 = new QVBoxLayout(s2); // layout für dieses scrollarea
vbl2->addWidget(new QLabel("Label2")); // pack da auch n label rein
}
vbl1->addWidget(s2); // pack scrollarea2 in layout von scrollarea1 - s2 wir autmatisch umgeparented (urrrks) ... es wird geschaut zu welchem Widget das Layout gehört und das Widget wird neuer parent des ge-addeten Dingses
}
s1.show(); // zeigs an
return app.exec();
}