gpt4 book ai didi

c++ - 在 Qt 中将一个小部件与另一个小部件交换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:11 30 4
gpt4 key购买 nike

在现有 View 中将一个 QGraphicsWidget 与另一个“交换”的最佳方法是什么?我有一个 TreeView 小部件和一个标签小部件,我希望它们在不同时间占据相同的空间。具体来说,当有错误时,我想在标签中显示它,当没有错误时,我想显示树。

我曾尝试以编程方式隐藏一个并使用 hide()show() 显示另一个,但问题是隐藏的小部件占用了我的 QGraphicsLinearLayout 即使它被隐藏,也会留下空白。或者,我想我可以在布局中添加和删除小部件,但这似乎很笨拙,因为它意味着小部件所有权的变化,我需要记录它们在布局中的位置,以便我可以将它们插入回正确的地方。

在 Java Swing 中,我会使用 CardLayout 来实现这一点,但我没有在 Qt 中看到等效项。

更新:我发现了QStackedWidget。但是,我使用的是 QGraphicsScene,所以我的小部件不是从 QWidget 继承的,而是从 QGraphicsWidget 继承的,所以我无法添加它们到 QStackedWidget

最佳答案

QStackedWidget怎么样? ?

The QStackedWidget class provides a stack of widgets where only one widget is visible at a time.

关于c++ - 在 Qt 中将一个小部件与另一个小部件交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419339/

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