在Qt4中有效地使用QListView或类似的

时间:2009-10-16 13:53:31

标签: c++ qt4

我慢慢习惯使用Qt4 GUI框架。在我正在进行的项目中,我需要能够在列表中添加/编辑/删除Team个对象。从C#.NET的角度来看,我会做类似

的事情
List<Team> teams = new List<Team>();
teamsListBox.DataSource = teams;
teamsListBox.DisplayMember = "Name";

然后使用表单上的按钮进行添加/删除/编辑。

但是,据我所知,在Qt中没有简单的方法可以做到这一点。我查看了QListView,QListWidget,QStandardItemModel等的文档,但我无法弄清楚如何获得C#的等效Qt代码。

我的目标是在某种列表框中显示Team,然后能够在运行时添加/删除/编辑它下面的Team

你会怎么做?

1 个答案:

答案 0 :(得分:3)

您应该查看QAbstractItemModelQStandardItemModel,或者为继承自QAbstractItemModel的团队创建自定义的TeamItemModel类。这些自定义类将管理项目在Widget中的显示方式,如QListView。

包含QStringListQString项示例的简单:

QStringList list;
list << "item1" << "item2" << "item3" << "item4" << "item5";
ui->listView->setModel(new QStringListModel(list));

然后添加/删除/更新Team应该比您尝试过的更容易。

希望有所帮助。