Show、Hide和Setvisible的区别

        垂直布局中有A和B两个按钮,原本A在B上方,

        A

        B

        隐藏A后再显示A,A到了B下方。

        B

        A

        请问如何让A保持在B上方?

        hide方法会将组件移出布局,setvisible不会。

        用setvisible方法就行。

布局的插入索引

// 隐藏按钮 A
layout->removeWidget(buttonA);
buttonA->hide();

// 重新显示按钮 A 并确保它在按钮 B 上方
layout->insertWidget(0, buttonA); // 将按钮 A 插入到索引 0 的位置
buttonA->show();

布局的焦点策略

        在某些情况下,设置按钮的焦点策略为 Qt::StrongFocus 可以避免布局重新计算时顺序发生变化。

buttonA->setFocusPolicy(Qt::StrongFocus);
buttonB->setFocusPolicy(Qt::StrongFocus);

// 隐藏按钮 A
buttonA->setVisible(false);

// 重新显示按钮 A
buttonA->setVisible(true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大象荒野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值