QT开发中文网

layout->addStretch(1); 之后再添加元素 这个button3 反而在底部

非常抱歉,我之前的回答有误。正确的做法是在添加完所有元素后,再使用layout->addStretch(1)将可伸缩空间放在底部。这样新添加的控件会向上填充剩余空间。

以下是修正后的代码示例:

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QWidget window;

    QVBoxLayout* layout = new QVBoxLayout(&window);
    
    QPushButton* button1 = new QPushButton("按钮1");
    layout->addWidget(button1);

    QPushButton* button2 = new QPushButton("按钮2");
    layout->addWidget(button2);

    // 添加可伸缩的空间,在最底部占据额外的垂直空间
    QPushButton* button3 = new QPushButton("按钮3");
    layout->addWidget(button3);

    layout->addStretch(1);  

    window.show();

    return app.exec();
}

在这个示例中,先添加了两个按钮button1button2,然后添加了一个可伸缩空间,并紧接着添加了button3。最后使用layout->addStretch(1)将可伸缩空间放在底部。这样可以确保新添加的控件会向上填充剩余空间,并且可伸缩空间仍然会保持在底部。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=11826

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?