c++ - Qt Widget 与树组织的项目

标签 c++ qt qtreeview qlistview

我想要一个小部件,其中的项目以树状结构组织。然而,它应该在一行中查看,并且每个子树都应该用大括号表示。例如:

<强>1。 element1 2. element2 3. element3 (3. element31 4. element41 {4. element43 5. element53} 5. element 51 6. element61 3. element32 4. element 42) 4 element4 5. element5

每个元素还应该有一个关联的图标并且应该是可点击的。我想到了 QListView 或 QTreeView。第二个听起来更好,但我必须想出如何强制它以这种方式显示项目。

最佳答案

正确的做法还是实现自己的观点。至于用户与 View 的交互是相当有限的,它应该不会那么困难(see Qt 的 pieview 示例,你的应该更简单)。

或者,您可以只创建一组带样式的按钮(像这样:)

//stylesheet:
QPushButton {
     background-color: white;
     border-width:0px;
    border-style:none;
 }
 QPushButton:pressed {
     background-color: blue;
     color:white;
 }
 QPushButton:checked {
     background-color: darkblue;
     color:white;
 }

然后每个按钮将代表您 View 中的一个项目。

关于c++ - Qt Widget 与树组织的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026674/

相关文章:

qt - 为 Visual Studio 2013 安装 Qt 5 插件

c++ - QTreeView 切换标签位置

c++ - 在 C++ 中的堆中删除从 Char[] 创建的堆上的字符串

c++ - 一个大工厂类如何模块化?

c++ - 如果我将可变 lambda 作为 const 引用传递给函数,会发生什么情况?

c++ - Qt 计算器问题 - C++

c++ - Qt;没有匹配的调用函数

c++ - 双值的 sprintf 格式化

resize - 如何调整 QTreeView 和 QStandardItemModel 中的行大小?

c++ - 从 QtreeView 列表中获取字符串