2010-06-28 21 views
8

Angenommen, ich habe ein Fenster mit zwei horizontalen Bedienelementen und einen Knopf. Wie verschiebt man einen Splitter durch Klicken auf die Schaltfläche?Wie verschiebe ich QSplitter?

Antwort

14

Werfen Sie einen Blick auf http://doc.qt.io/qt-4.8/qsplitter.html#setSizes. Der Hauptpunkt ist, dass es keine Methode gibt, den Splitter explizit zu verschieben, Sie können ein ähnliches Verhalten nur erreichen, wenn Sie die Größe der Widgets im QSplitter selbst ändern, was einfach mit QSplitter :: setSizes erreicht werden kann. Ich würde etwas tun, wie

QList<int> currentSizes = mySplitter->sizes(); 
// adjust sizes individually here, e.g. 
currentSizes[0]++; 
currentSizes[1]--; 
mySplitter->setSizes(currentSizes); 

, die einen horizontalen Splitter mit zwei Widgets um ein Pixel verschieben würde. Sie müssten natürlich einen Scheck hinzufügen, um negative Größen zu vermeiden.

+0

In meiner App gibt das eine Liste von Ganzzahlen alle 0 statt der tatsächlichen Größen zurück. :-( –

Verwandte Themen