博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt Model/View学习(二)
阅读量:6800 次
发布时间:2019-06-26

本文共 2049 字,大约阅读时间需要 6 分钟。

Model和View的搭配使用

DEMO
pro文件

#-------------------------------------------------## Project created by QtCreator 2018-10-13T14:45:13##-------------------------------------------------QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = ch801TEMPLATE = appSOURCES += main.cpp\        mainwindow.cppHEADERS  += mainwindow.h

mainwindow.h

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include 
class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *parent = 0); ~MainWindow();};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent){}MainWindow::~MainWindow(){}

mian.cpp

#include "mainwindow.h"#include 
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[]){ QApplication a(argc, argv); QDirModel model; //先装出一个QDirModel以供使用 /*新建三种不同的View对象,以便文件目录可以以三种不同的方式显示*/ QTreeView tree; QTableView table; QListView list; //调用setModel()函数设置view对象的Model为QDirModel对象的model tree.setModel(&model); table.setModel(&model); list.setModel(&model); //设置QTreeView对象的方式为多选 tree.setSelectionMode(QAbstractItemView::MultiSelection); //设置QListView和QTreeView使用相同的对象 list.setSelectionModel(tree.selectionModel()); //设置QTableView和QTreeView使用相同的对象 table.setSelectionModel(tree.selectionModel()); QObject::connect(&tree,SIGNAL(doubleClicked(QModelIndex)), &list,SLOT(setRootIndex(QModelIndex))); QObject::connect(&tree,SIGNAL(doubleClicked(QModelIndex)), &table,SLOT(setRootIndex(QModelIndex))); QSplitter *splitter=new QSplitter; splitter->addWidget(&table); splitter->addWidget(&tree); splitter->addWidget(&list); splitter->setWindowTitle(QObject::tr("Model/View")); splitter->show(); return a.exec();}/* * 配置一个View去显示model中的数据,只需要简单地调用setModel(),并把目录 * model作为参数传递。 * * setRootIndex()告诉View显示那个目录的信息,这里需要提供一个model index * 然后用这个model index去model中获取数据*/

转载于:https://www.cnblogs.com/Manual-Linux/p/9783574.html

你可能感兴趣的文章
11月机房技术指标
查看>>
功能表单之人员构造器字段类型详解——JEPLUS软件快速开发平台
查看>>
全球积分宝:混币圈需要怎么样的活法?
查看>>
李开复:人工智能对人类真正的威胁是什么?
查看>>
CentOS 6.*/7 防火墙放行端口
查看>>
docker pipework 实现跨宿主主机容器互联
查看>>
Hutool之正则表达式工具类——ReUtil
查看>>
execute、executeQuery和executeUpdate之间的区别
查看>>
Windows及Apache Struts2 高危漏洞安全公告及解决方案
查看>>
企业网站建设,手机网站建设,专业的网站建设,网站建网站建设企业,网页建设与制作...
查看>>
您如何创建AWS图表?
查看>>
iOS多线程编程
查看>>
HTTP参数中Etag的重要性
查看>>
T-MBA·沟通·倾听·V1 | 7天学习倾听,6月14日开营,包学会!
查看>>
java架构程序员月入破3万到底是怎么炼成的,一篇文章让你了解
查看>>
mongoDB JAVA操作
查看>>
python基础进阶
查看>>
高级GLSL
查看>>
【27】非阻塞算法
查看>>
cacti 安装
查看>>