QWidget Layoutfrage...

Alles rund um die Programmierung mit Qt
Antworten
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

QWidget Layoutfrage...

Beitrag von Davidave »

Hallo liebe Community.
Ich schreibe euch, weil ich einige Probleme mit dem Layout eines QWidgets habe.
Ich benutze QT 3.3 unter Suse 9.2


Folgendes Problem:
Ich habe ein Klasse, die von QWidget erbt.
In ihr soll ein Splitter das Widget in zwei Teile teilen.
Auf der linken Seite soll ein ScrollView sein, der ein QLabel mit Bild enthaelt. Rechts sollen mehrere Label Informationen anzeigen.
 
Wenn sich das Fenster oeffnet, hat der ScrollView eine feste Groesse und laesst sich nicht vergroessern. Wie auf dem Screenshot ( layout1.jpg) zu sehen ist, sind die Groupboxes abgeschnitten.

Wenn ich das Widget an der unteren rechten Ecke geklickt halte und vergroessere, soll sich aber bitte auch das ScrollView anpassen (layout2.jpg)

Es scheint, als seien die Elemente nicht im QWidget verankert.
Habt ihr ein Ahnung woran das liegen kann?

Danke vorweg!

Hier mein Code. In einer Funktion init():

Splitter = new QSplitter(this);
ScrollView = new QScrollView(Splitter);
LabelWidget = new QWidget(Splitter);
mainLayout = new QVBoxLayout(LabelWidget);

label = new QLabel(ScrollView);
label->resize(SizeX, SizeY); //das Label soll so groß sein, wie die geladene Pixmap.
ScrollView->addChild(label);

bgroup = new QGroupBox(5, Qt::Vertical, "Classifier",LabelWidget);
SVMLabel = new QLabel(bgroup);
KernelLabel = new QLabel(bgroup);
ReLabel = new QLabel(bgroup);
BandwidthLabel = new QLabel(bgroup);
ThresholdLabel = new QLabel(bgroup);
.
.
.
//dann kommt eine andere Groupbox.
.
.
.
mainLayout->addWidget(bgroup);
mainLayout->addStretch(1);
mainLayout->setMargin(10);

ScrollView->setMinimumWidth(SizeX);
ScrollView->setMinimumHeight(SizeY);

Splitter->adjustSize();
this->adjustSize();
this->hide(); //zuerst soll das Widget versteckt sein, bis ich es später zeige.
Dateianhänge
Wenn ich unten rechts am Fenster das Widget vergrößer, soll sich auch der Splitter samt Inhalt vergrößern...
Wenn ich unten rechts am Fenster das Widget vergrößer, soll sich auch der Splitter samt Inhalt vergrößern...
layout2.jpg (35.51 KiB) 2868 mal betrachtet
So sieht es aus, wenn ich das Widget zeige. Der Rand ist abgeschnitten.
So sieht es aus, wenn ich das Widget zeige. Der Rand ist abgeschnitten.
layout1.jpg (19.93 KiB) 2868 mal betrachtet
Flachkoepper
Beiträge: 149
Registriert: 11. Januar 2005 12:14
Wohnort: Hannover

Beitrag von Flachkoepper »

Mahlzeit,

du musst in deinem Hauptwidget (das, in dem der Splitter sitzt) auch noch ein Layout erstellen. Diesem Layout weist du dann deinen Splitter zu -> fertig.

Viele Grüße,
Flachkoepper
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

Beitrag von Davidave »

Wow, wenn das des Rätsels Lösung ist, dann danke ich Dir VIELMALS!
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

Beitrag von Davidave »

Juhu, es klappt. Vielen Dank!

:D
Antworten