我慢慢习惯使用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
。
你会怎么做?
答案 0 :(得分:3)
您应该查看QAbstractItemModel
和QStandardItemModel
,或者为继承自QAbstractItemModel的团队创建自定义的TeamItemModel类。这些自定义类将管理项目在Widget中的显示方式,如QListView。
包含QStringList
的QString
项示例的简单:
QStringList list;
list << "item1" << "item2" << "item3" << "item4" << "item5";
ui->listView->setModel(new QStringListModel(list));
然后添加/删除/更新Team
应该比您尝试过的更容易。
希望有所帮助。