Größenverschiebung von Widgets

Alles rund um die Programmierung mit Qt
Antworten
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Größenverschiebung von Widgets

Beitrag von CLRS530 »

Ich habe mehere Widgets (Tree Views), die ich in einem Grid Layout oder ähnlichem unterbringen möchte und diese sollen in ihren einzelnen Größen angepasst werden.
Also sowas wie 2 treeviews nebeneinander, wo ich die linke vergrößern möchte. Natürlich ich als user während das Programm läuft.

Ich habe mir jetzt alle Container angesehen, aber komischweise nichts für diese, in meinen Augen doch recht triviale Aktion, gefunden.
The User
Beiträge: 62
Registriert: 11. Dezember 2008 23:48

Beitrag von The User »

Wenn mans sich im Designer anschaut, klappts auch genauso zur Laufzeit. ;)
Klappt über die SizePolicy.
Wenn du irgendwas richtig besonderes haben willst, kannst du auch heightForWidth implementieren.

Viele liebe Grüße
The User
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

Hi danke für die Antwort.
Es erscheint mir nicht so, also ob du mich missverstanden hast, aber ich habe tatsächlich vorher schon einmal ein wenig mit sizePolicy gespielt, da wie jetzt ist nichts sinnvolles rausgekommen.

Vielleicht könntest du mir da noch ein wenig Hilfestellung geben. Ich möchte, wenn ich an den Rand des TreeView komme dieses in der Brite oder höhe anpassen können, da daneben ein weiteres TreeView, was dann demensprechend kleiner wird. Ich meine so etwas schon in Visual Studio gesehen zu haben. Dort ist es so ein Doppelseitiger Pfeil, den man zwischen die Widgets setzten kann. Hier suche ich so etwas vergebens.
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

OK, dann beantworte ich meine Frage hier nun also selbst. Man kann dieses Problem mit QDockWidget lösen und wohl auch nur damit.
Wer die docking Sachen wie ich nicht weiter haben möchte (bis jetzt), kann mit

Code: Alles auswählen

QDockWidget *dock = new QDockWidget(this);
dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
dock->setTitleBarWidget(new QWidget);
dock->setWidget(new QTreeView(this));
alles inklusive der Titelleiste des Dockingelements wegbekommen und es bleibt die gewünschte verschiebbarkeit :)
Antworten