c++ - 使用 C++ QT 创建一个 ListView

标签 c++ qt listview

我想知道如何使用 QT 创建一个简单的 ListView 控件?我的意思是一个具有多行和多列的类似表的控件,可以在运行时更改行(编辑/添加/插入/删除行)。我在谷歌上搜索了一段时间,所有教程都是关于三个标准的类表控件:QListView、QTableView、QTreeView,但它们似乎有局限性

QListView: only one column
QTableView: row/column count is fixed
QTreeView: there is a expander in the first column

我更喜欢在我的应用程序中使用 MVC 来提高性能,所以我正在使用 Qxxx*View*,我是 QT 的新手,有什么建议吗?谢谢。

最佳答案

在过去,您可以使用 addColumn() 方法:

  m_treeView = new QListView();

  m_treeView->addColumn( "Tree" );
  m_treeView->addColumn( "First" );
  m_treeView->addColumn( "Second" );
  m_treeView->addColumn( "Third" );

  m_treeView->setRootIsDecorated( true );
  QListViewItem *root = new QListViewItem( m_treeView, "root" );
  QListViewItem *a = new QListViewItem( root, "A" );  
  new QListViewItem( a, "foo", "1", "2", "3" );
  new QListViewItem( a, "bar", "i", "ii", "iii" );

http://www.digitalfanatics.org/projects/qt_tutorial/chapter13.html

但是自从 Qt 4 开始它就不受支持了。现在 ListView 旨在查看简单列表。您可以改用 QTableView

关于c++ - 使用 C++ QT 创建一个 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19933700/

相关文章:

C# 将 ListView 项目与对象绑定(bind)

c++ - 通过示例学习指针

JNI C++ 环境中的 Java 线程仅使用一个内核。 Arm 处理器和 Ubuntu

c++ - 如何在 qmake 中配置编译器

c++ - 使用 C++ 在 QDateEdit 中设置日期

android - 与从大型数据库中选择所有行以填充 ListView 相关的性能问题

java - 如何在 OnClick 方法中获取当前位置以删除行

c++ - 使用成员的地址来初始化基类是否合法?

c++ - constexpr 可变参数模板和解包 std::array

c++ - QT中如何加入url