本讲主要介绍一下QT中ViewModel的基本结构,以及简单的使用方法。对于View Model的概念这里就不累述了,简单的了解可以参考:
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
下面进入正文:
Qt中的View主要有三种QListView,QTreeView, QTabelView
而对应的Model是:QStringListModel, QAbstractItemModel , QStandardItemModel。
基本的原理就是构造出View,和Model然后通过View的setModel方法,将两者结合起来。
下面介绍每种View-Model的使用:
QListView与QStringListModel
#include <QApplication>
#include <QStringList>
#include <QAbstractItemModel>
#include <QStringListModel>
#include <QListView>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QStringList numbers;
numbers << "caterpillar" << "momor" << "bush" << "bee";
QAbstractItemModel *model = new QStringListModel(numbers);
QListView *view = new QListView;
view->setWindowTitle("QListView & Model");
view->setModel(model);
view->show();
return app.exec();
}
#include <QStringList>
#include <QAbstractItemModel>
#include <QStringListModel>
#include <QListView>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QStringList numbers;
numbers << "caterpillar" << "momor" << "bush" << "bee";
QAbstractItemModel *model = new QStringListModel(numbers);
QListView *view = new QListView;
view->setWindowTitle("QListView & Model");
view->setModel(model);
view->show();
return app.exec();
}