2014.11.6 模型视图学习开始
先看一个例子,
//------------------main.cpp------------------------
#include <QtGui/QApplication>
#include <QSplitter>
#include <QFileSystemModel>
#include <QTreeView>
#include <QListView>
int main1(int argc, char *argv[])
{
QApplication a(argc, argv);
ViewModleTest w;
w.show();
return a.exec();
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSplitter *splitter = new QSplitter;
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView(splitter);
tree->setModel(model);
tree->setRootIndex(model->index(QDir::currentPath()));
QListView *list = new QListView(splitter);
list->setModel(model);
list->setRootIndex(model->index(QDir::currentPath()));
splitter->setWindowTitle("Two views onto the same file system model");
splitter->show();
return app.exec();
}
//----main.cpp结束
编译运行后为
下面开始说明QTableView类
QTableView类是table视图,用于显示表格,先看一个简单的例子
QStandardItemModel *student_model = new QStandardItemModel();
student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("Name")));
student_model->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("NO.")));
student_model->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("Sex")));
student_model->setHorizontalHeaderItem(3, new QStandardItem(QObject::tr("Age")));
student_model->setHorizontalHeaderItem(4, new QStandardItem(QObject::tr("College")));
ui.tableView->setModel(student_model);
使用QTableWidget类:
...
待补充