Qt,更改小部件覆盖?

时间:2015-12-31 18:58:27

标签: c++ qt

我知道我可以通过指定父子关系来覆盖小部件。

但如果我有两个小工具,请说A和B.

首先B超过A并且在A的左下角。 但是当点击一个按钮时,我希望A出现在B和B的左下角。

如果没有QML,我怎么能实现呢?

1 个答案:

答案 0 :(得分:2)

您可以结合使用QWidget::raise()QWidget::lower()QWidget::move()QWidget::resize()

伪代码:

void slotButtonClicked()
{
    // Raize z-index to be "above"
    widgetB->raise();

    // Update size to small
    widgetB->resize( smallWidth, smallHeight );

    // Lower z-index to be "below"
    widgetA->lower();

    // Update size to large
    widgetA->resize( largeWidth, largeHeight );

    // Move smaller widget to corner
    widgetB->move( 0, widgetA->height()-widgetB->height() ); 
}