gpt4 book ai didi

c++ - 如何在保留布局功能的同时将两个小部件层叠在一起?

转载 作者:可可西里 更新时间:2023-11-01 18:39:39 25 4
gpt4 key购买 nike

在开发 Qt UI 时,我经常想在现有 UI 之上显示通知或其他显示工具。

但是,我只发现了两种方法,都没有完全解决问题。

选项1

使通知小部件成为显示小部件的兄弟,但不要将其添加到任何布局并将其提升到另一个布局之上。

问题:小部件不能在布局中,因此您必须手动调整它的大小以适应它的内容,并且必须在父窗口出现时将它移动到正确的位置调整大小。

选项 2

将小部件添加到布局中显示的小部件旁边。

问题:由于小部件是布局的一部分,它会在其他显示的小部件可见时四处移动,而不是在它们之上移动。

示例 - 此处通知将“v0.3b”标签向上推,而不是出现在其顶部。从好的方面来说,由于它是布局的一部分,左侧有间隔符,因此它的大小与其内容相符。 enter image description here

解决方案

是否有像 QStackedWidget 这样的东西可以一次显示多个页面,空白区域显示下面的小部件?这种 UI 功能还有其他选择吗?

最佳答案

你是对的,QStackedWidget/QStackedLayout 是你的 friend 。制作一个具有堆叠布局的自定义小部件,当消息进来时,您将事件小部件设置为带有警告消息的小部件,使用计时器,您可以翻转回正常小部件。这个自定义小部件可以放置在右下角的主窗口中。使用 spacer,这可以很容易地完成,对吧?

关于c++ - 如何在保留布局功能的同时将两个小部件层叠在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com