qt 模型视图上学习笔记

实例效果:
在这里插入图片描述

编程步骤

1、定义视图和模型对象

    QFileSystemModel m_fsModel;  //文件模型
    QTreeView m_treeView;         //树状显示视图

2、视图和模型的初始化

   /*视图的位置大小设置*/
    m_treeView.setParent(this);
    m_treeView.move(10, 10);
    m_treeView.resize(500, 300);
/*模型数据的来源*/
    m_fsModel.setRootPath(QDir::currentPath());   //文件模型组织当前目录文件

3、视图和模型的连接

   /*视图和模型建立联系*/
    m_treeView.setModel(&m_fsModel);

4、视图通过索引来访问数据

/*在Qt中,不管模型以什么结构组织数据,都必须为每个数据提供不同的索引值,使得视图能通过索引值访问模型中的具体数据*/
    m_treeView.setRootIndex(m_fsModel.index(QDir::currentPath()));

整体工程源码:

/*Widget.cpp*/
#include "Widget.h"
#include <QDir>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    m_treeView.setParent(this);
    m_treeView.move(10, 10);
    m_treeView.resize(500, 300);

    m_fsModel.setRootPath(QDir::currentPath());

    m_treeView.setModel(&m_fsModel);

    m_treeView.setRootIndex(m_fsModel.index(QDir::currentPath()));
}

Widget::~Widget()
{
    
}
/*Widget.h*/
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
#include <QFileSystemModel>
#include <QTreeView>

class Widget : public QWidget
{
    Q_OBJECT
    
    QFileSystemModel m_fsModel;
    QTreeView m_treeView;
public:
    Widget(QWidget *parent = 0);
    ~Widget();
};

#endif // WIDGET_H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值