所以我有一个Qvector包含一个'contact'类的对象....到目前为止联系类看起来像这样:
class contact {
QString firstName;
QString lastName;
QString email;
QString age;
QString imgSrc;
public:
contact();
contact(QString fName, QString lname, QString emailAdd, QString new_Age, QString img);
QString getPerson(); // return "James Smith 34" which i add to listwidget
};
这非常微不足道,我遇到的问题是什么是我以列表格式显示这些数据的最有效方式,即
亚当史密斯34John Smith 43
我应该使用基本列表小部件吗? (考虑到我必须将信息分类为降序和降序......
还是我使用列表视图?但是哪种型号?
答案 0 :(得分:1)
您将拥有子类QAbstractTableModel
,以便为阅读联系信息提供模型界面,请阅读文档here。您只需要显示文本就不需要打扰代表。
默认QTableView
就足够了,请记住在QAbstractTableModel
中实施header data methods,否则您将无法在视图中看到列标题标签。
要提供排序功能,您需要在模型和视图之间提供自定义QSortFilterProxyModel
。 docs提供了如何使用它的很好的例子。
Qt MVC framework一开始可能非常令人生畏,但是一旦你理解了它的模块化结构,你就会明白你需要做些什么才能获得某些功能。它的非常强大,但有一点学习曲线。