这个问题更多的是关于Qt框架知识,而不是编码问题。
我想知道Qt中是否存在一个容器,它显示可扩展/可折叠项的列表视图。这些项目比简单的QLabel要复杂得多。
更准确地说,我需要一个自定义小部件列表。
每个小部件都有一个QHBoxLayout (使每个项都适合在“行”中),其中包含内部小部件,包括一个展开/折叠切换按钮(位于布局的第一个/左边位置)。
打开展开/折叠按钮时,我希望在下面显示一个容器面板,并显示更详细的信息(另一个复杂的小部件)。
显然,当关闭展开/折叠按钮时,这个附加面板必须隐藏。
我的问题是,Qt框架中是否存在这样的gui设计结构?
我在Qt文档中找不到这样的对象,但是我可能会错过它,因为我不知道它的名称是什么。
我也许可以用一些棘手的变通方法来完成这个任务,如举个例子所示。
但我想确定的是,我不会实现Qt框架中可能已经存在的类,因为这类容器在许多应用程序中都很常见。
如果有一个熟悉Qt框架的人能给我一些启发,我将非常感激。
发布于 2019-06-14 09:25:52
总之,这里的问题分为两部分:
由于Qt框架中不存在这样的容器,所以我编写了自己的c++实现,这些实现可以找到这里。
在https://github.com/rlefevre1/Qt-extensions/blob/master/widgets/qt_widgets_extensions.hpp中,我定义了qt_ext::QExpandableWidget和qt_ext::QListWidgetView,它们完全回答了问题的两个方面。有关这些容器提供的功能的更多详细信息,您可以查看链接。
我认为可以很容易地将这个实现转换成另一种语言,例如Python。
https://stackoverflow.com/questions/56490816
复制相似问题