这个问题更多的是关于Qt框架知识,而不是编码问题。
我想知道Qt Framework中是否存在一个容器,该容器显示可展开/可折叠项目的列表视图。这些项目比简单的QLabel
要复杂得多。
更准确地说,我需要一个自定义小部件列表。
每个小部件都有一个QHBoxLayout
(使每个项目都适合于一行),其中包含内部小部件,包括扩展/折叠切换按钮(在布局的第一个/左侧位置)。
当展开/折叠按钮打开时,我希望看到下面显示一个容器面板并显示更多详细信息(另一个复杂的小部件)。
很明显,当展开/折叠按钮关闭时,此附加面板必须隐藏。
我的问题是,Qt框架中是否存在这样的 gui 设计结构?
我在Qt文档中找不到这样的对象,但是由于我真的不知道它叫什么名字。
我可能会用或多或少的棘手解决方法来做到这一点,如here for example所示。
但是我想确保我不会实现Qt框架中可能已经存在的类,因为这种类型容器的包装在许多应用中非常普遍。
如果有人对Qt框架有一定的了解可以启发我,我将不胜感激。
答案 0 :(得分:0)
总而言之,这里的问题分为两个部分:
由于Qt框架中不存在此类容器,因此我编写了自己的C ++实现,可以在here中找到。
在qt_widgets_extensions.hpp中,我定义了{{1} }和qt_ext::QExpandableWidget
完全回答了问题的两个方面。您可以检查链接以获取有关这些容器提供的功能的更多详细信息。
我认为将这种实现翻译成另一种语言(例如 Python )可能很容易。