估计很多人在碰到Qt中的这两个接口时,可能都是一脸懵逼,貌似从来没有用过,但是最近工作中遇到的一个bug,让我深刻体会到这两个接口的重要性 。恰恰是平时不受我们待见的接口,关键时刻起到了四两拨千斤的作用 。
测试提的bug大意如下:
视频播放窗口由全屏变为非全屏时,有一个控件被覆盖了,有时覆盖部分,有时覆盖全部 。
针对这个小问题,折腾了好久,中间还把控件在使用时new,不使用时 。但因时事件循环控制不好,导致程序崩溃 。
qt对于代码中new的控件有一个原则:
通过new得到的控件,默认显示在比它new的早的控件上面 。
知道了上面的原则,我就想怎么人为控制,那些控件在上层,那些控件在下层呢?但我并没有想到raise()和lower()两个接口 。
这时突然想到在中有这个功能,那就一探究竟吧 。因此我设计了如下界面 。
可恶的是,挡住了(实际中可能不会这么设计哈),那么如何让显示在前面呢?
的工具栏中有两个按钮,如下所示 。分别为放到后面和放到前面
那么,点击“放到前面”工具按钮,便达到了我们的目的 。如下图所示 。
总结:
【Qt之raise和lower()】在代码中,raise(),便代表了放在前面的含义;lower()便代表了放在后面的含义 。
- 时间都去哪儿了?开源一个统计iPhone上App运行时间和打开次数的小工具
- 全球人工智能高峰论坛演讲实录 王坚眼中的互联网、数据和AI
- STM32F0x定时器之计数器模式
- fastica和pca区别_ICA与PCA的区别
- 【阿里云IoT+YF3300】4.Alink物模型之事件触发
- Day1 软件测试之自动化测试
- ds1水准仪和ds3水准仪哪个精度高
- 深度学习之微表情识别
- 【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发
- Kubernetes K8S之CPU和内存资源限制详解