QT控件的visible属性

很多QT的新手设置是老手在使用QT控件的visible属性的时候,很容易犯错。比如show()或者setVisible(true)后,isVisible()应该返回true吧?但其实QT控件的visible属性是一个综合属性:“Calling setVisible(true) or show() sets the widget to visible status if all its parent widgets up to the window are visible. If an ancestor is not visible, the widget won't become visible until all its ancestors are shown. “ 。
在setVisible(true)后:调用 isVisible() 可能返回true或者false;调用 isHidden() 一定返回false。
在setVisible(false)后:调用isVisible()返回false;调用isHidden() 返回 true。
ps:show() 等价于 setVisible(true) 。 hide() 等价于 setVisible(false)。
从我的经验来看,其实大部分时候我们只是想判断控件自己的是否可见flag(也就是假定控件parent可见)。这时候使用 isHidden() 来判断比用isVisible()更符合需求,记得要取反。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值