要在列表上显示的对象的QVector(Widget或Model)
QVector of objects to display on List (Widget or Model)?
所以我得到了一个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
};
这很琐碎,我遇到的问题是,对我来说,以列表格式显示这些数据最有效的方法是什么,即
Adam Smith 34
John Smith 43
我应该使用一个基本的列表小部件吗??(考虑到我必须将信息按升序和降序排序…
还是使用列表视图??但是哪种型号??
您将拥有子类QAbstractTableModel
,以便提供读取联系信息的模型接口,请阅读此处的文档。您不需要麻烦代理,因为您只是在显示文本。
默认的QTableView
应该足够了,记住在QAbstractTableModel
中实现表头数据方法,否则在视图中看不到列表头标签。
要提供排序功能,您需要在模型和视图之间提供自定义QSortFilterProxyModel
。这些文档提供了如何使用它的好例子
Qt的MVC框架一开始可能非常令人生畏,但一旦你了解了它的模块化结构,你就清楚了需要做什么才能获得某些功能。它非常强大,但有一点学习曲线。
相关文章:
- Widget&&rhs 是左值还是右值引用
- 使用静态 qmake 的 QT Widget 插件
- 从 QT Widget 对象实例访问 QT Widget 子成员
- 如何从 DirectXTK (ToolKit) DirectX::Model 类获取所有顶点坐标以用于冲突检测
- 如何从另一个Qt Widget表单类调用MainWindow类
- 从 Qt 小部件应用程序调用 pyqt widget
- gradle see output for model.components.binaries.all
- QSTACKEDWIDGET区域在Child Widget Line编辑中在ESC上清除
- 对于树结构"widget"比"shared_ptr"更好的选择?
- 将事件传播到QT中最顶部的Widget / QMainWindow的最佳方法是什么?
- 为什么 malloc(0) 在"Inside the C++ Object Model?"中有用
- Qt,QListView Model
- OpenSceneGraph、HUD 和 Textured Qt Widget 问题
- 如何使用'Build Model'函数从 matlab simulink 块生成 c/c++ 代码?
- Qt webkit widget error
- 将QMainWindow或Widget添加到另一个Widget-访问成员
- 为什么 boost::geometry::d istance 使用 model::d 2::p oint_xy<float> 返回双精度而不是浮点数?
- 将 Glib::RefPtr<T> 转换为 Gtk::Widget 和需要
- 从 2D C 列表创建 boost.geometry.model.polygon
- 要在列表上显示的对象的QVector(Widget或Model)