QTableWidget与QTableView的区别
来源:互联网 发布:超级祝福油数据库 编辑:程序博客网 时间:2024/04/29 00:11
QTableWidget继承自QTableView。QSqlTableModel能与QTableView绑定,但不能于QTableWidget绑定。 模型视图结构 Qt4中引入了模型/视图框架来完成数据与表现的分离,这在Qt4中称为InterView框架。 MVC设计模式是起源于Smalltalk的一种与用户界面相关的设计模式。MVC包括三个元素:模型(Model)表示数据,视图(View)是用户界面,控制(Controler)定义了用户在界面上的操作。通过使用MVC模式,有效的分离了数据和用户界面,使得设计更为灵活,更能适应变化。 模型:所有的模型都基于QAbstractItemModel类,该类是抽象基类。 视图:所有的视图都从抽象基类QAbstractItemView继承。 Interview框架提供了一些常见的模型类和视图类,例如QStandardItemModel,QDirModel,QStringListModel和QColumnView,QHeaderView,QListView,QTableView,QTreeView。 相对于使用现有的模型和视图,Qt还提供了更为便捷的类来处理常见的一些数据模型。他们将模型和视图合一,便于处理一些常规的数据类型。使用这些类型虽然简单方便,但也失去了模型视图结构的灵活性,所以要根据具体情况来选择。 具体区别表格 区别点 View与Model绑定注意事项 但视图与模型绑定时,模型必须使用new来创建。否则视图不能随着模型的改变而改变。 QStandardItemModel model(4,2); QStandardItemModel *model;
model->setTable("employee");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->removeColumn(0); // don't show the ID
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
QTableView *view = new QTableView;
view->setModel(model);
view->show();
model.setHeaderData(0, Qt::Horizontal, tr("Label"));
model.setHeaderData(1, Qt::Horizontal, tr("Quantity"));
ui.tableView->setModel(&model);
for (int row = 0; row < 4; ++row) {
for (int column = 0; column < 2; ++column) {
QModelIndex index = model.index(row, column, QModelIndex());
model.setData(index, QVariant((row+1) * (column+1)));
}
}
model = new QStandardItemModel(4,2);
ui.tableView->setModel(model);
model->setHeaderData(0, Qt::Horizontal, tr("Label"));
model->setHeaderData(1, Qt::Horizontal, tr("Quantity"));
for (int row = 0; row < 4; ++row) {
for (int column = 0; column < 2; ++column) {
QModelIndex index = model->index(row, column, QModelIndex());
model->setData(index, QVariant((row+1) * (column+1)));
}
}
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget与QTableView的区别
- QTableWidget和QTableView的区别
- qtableview和qtablewidget区别
- Qt学习之QTableView和QTableWidget的具体区别
- QTableWidget&&QTableView
- Qtablewidget / Qtableview
- QTableView与QTableWidget高阶使用积累
- QTableView与QTableWidget高阶使用积累
- Qt QTableWidget 和 QTableView
- QTableWidget和QTableView
- 关于QTableView和QTableWidget设置代理的相关问题
- QTableWidget 成员函数itemAt与item的区别与疑问
- Android 取SD卡卡号
- ACM之路
- 基于网络的客户端开发技巧——第四篇多账号的处理与注重细节
- 不会安装该公布程序,因为它可能不安全,请与管理员联系,将程序包的安装用户界面选项更改为基本
- 正则表达式验证
- QTableWidget与QTableView的区别
- 总线
- 基于网络的客户端开发技巧——第五篇透过现象看本质
- 解决在高版本浏览器下的input type="file"的路径问题
- sql server2000挂起的解决方法
- "Error installing to Instantiated" while starting JBossAS 6.0.0.Final "Neo"
- .Net 版 QQ群发器 附源码
- 基于网络的客户端开发技巧——第七篇后台上传
- Siebel学习资料