Qt之raise()和lower()

阅读: 评论:0

Qt之raise()和lower()

Qt之raise()和lower()

估计很多人在碰到Qt中的这两个接口时,可能都是一脸懵逼,貌似从来没有用过,但是最近工作中遇到的一个bug,让我深刻体会到这两个接口的重要性。恰恰是平时不受我们待见的接口,关键时刻起到了四两拨千斤的作用。

测试提的bug大意如下:

视频播放窗口由全屏变为非全屏时,有一个控件被覆盖了,有时覆盖部分,有时覆盖全部。

针对这个小问题,折腾了好久,中间还把控件在使用时new,不使用时delete。但因delete时事件循环控制不好,导致程序崩溃。

qt对于代码中new的控件有一个原则:

通过new得到的控件,默认显示在比它new的早的控件上面。

知道了上面的原则,我就想怎么人为控制,那些控件在上层,那些控件在下层呢?但我并没有想到raise()和lower()两个接口。

这时突然想到在desiger中有这个功能,那就一探究竟吧。因此我设计了如下界面。

可恶的是,QListView挡住了QPushButton(实际中可能不会这么设计哈),那么如何让QPushButton显示在QListView前面呢?

designer的工具栏中有两个按钮,如下所示。分别为放到后面放到前面

那么,点击“放到前面”工具按钮,便达到了我们的目的。如下图所示。

总结:

在代码中,raise(),便代表了放在前面的含义;lower()便代表了放在后面的含义。

 

更多关于Qt的知识需要咨询,请加我QQ:1026903613。或发邮件至1026903613@qq

本文发布于:2024-02-02 03:35:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681702641110.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Qt   raise
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23