2014-07-16 3 views
1

QPushButtons가 50px 인 QVBoxLayout을 맨 위로 이동하려면 어떻게해야합니까?QPushButtons 50px를 사용하여 QVBoxLayout을 맨 위로 이동하는 방법은 무엇입니까?

이것은 내 코드입니다. 나는 이것을 시도했다 -> adjustSize(), this-> repaint(), 그러나 그것은 움직이지 않는다.

// get current geometry 
QRect geo = ui->VBoxLayout->geometry(); 

// apply geometry, but substract 50px from y() to move it to the top 
ui->VBoxLayout->setGeometry(
    QRect(geo.x(), geo.y() - 50, geo.width(), geo.height()) 
); 
+0

첫 번째 위젯으로 [간격 추가] (http://qt-project.org/doc/qt-5/qboxlayout.html#addSpacing)? –

답변

0

QVBoxLayout은 독립 실행 형입니다. 해결책은 같은 크기의 QWidget에 QVBoxLayout을 삽입하는 것입니다 (ui-> RightSideWidget 내부의 ui-> VBoxLayout). QWidget은 move()로 움직일 수 있습니다.

QRect geoWidget = ui->RightSideWidget->geometry(); 
ui->RightSideWidget->move(geoWidget.x(), geoWidget.y() - 50); 
관련 문제