真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Qt--模式視圖設(shè)計-創(chuàng)新互聯(lián)

一.模型視圖設(shè)計模式

A.模型視圖設(shè)計模式
1.模型與視圖相分離
2.模型對外提供標(biāo)準(zhǔn)接口存取數(shù)據(jù)(不關(guān)心數(shù)據(jù)如何顯示)
3.視圖自定義數(shù)據(jù)的顯示方式(不關(guān)系數(shù)據(jù)如何組織存儲)
模型視圖模式的直觀理解
Qt--模式視圖設(shè)計
模型視圖的工作機(jī)制
1.當(dāng)數(shù)據(jù)發(fā)生改變時--模型發(fā)出信號通知視圖
2.當(dāng)用戶與視圖進(jìn)行交互時--視圖發(fā)出信號提供交互信息
Qt中的模型類層次結(jié)構(gòu)
Qt--模式視圖設(shè)計
QAbstractItemModel類為項模型類提供抽象接口.QAbstractItemModel類定義項模型必須使用的標(biāo)準(zhǔn)接口,以便能夠與模型/視圖體系結(jié)構(gòu)中的其他組件進(jìn)行互操作。它不應(yīng)該直接實(shí)例化。相反,您應(yīng)該將其子類化以創(chuàng)建新模型。QAbstractItemModel類是Model / View Classes之一,是Qt模型/視圖框架的一部分。它可以用作QML中項視圖元素的基礎(chǔ)數(shù)據(jù)模型或Qt Widgets模塊中的項視圖類。如果您需要一個模型用于項目視圖,例如QML的List View元素或C ++小部件QListView或QTableView,您應(yīng)該考慮子類化QAbstractListModel或QAbstractTableModel而不是此類。底層數(shù)據(jù)模型作為表層次結(jié)構(gòu)公開給視圖和委托。如果不使用層次結(jié)構(gòu),則模型是行和列的簡單表。每個項目都有一個由QModelIndex指定的唯一索引
Qt中視圖類的層次結(jié)構(gòu)
Qt--模式視圖設(shè)計
QAbstractItemView類是使用QAbstractItemModel的每個標(biāo)準(zhǔn)視圖的基類。QAbstractItemView是一個抽象類,本身不能實(shí)例化。?它提供了一個標(biāo)準(zhǔn)接口,通過信號和插槽機(jī)制與模型進(jìn)行互操作,使子類能夠隨著模型的變化保持最新。?此類為鍵盤和鼠標(biāo)導(dǎo)航,視口滾動,項目編輯和選擇提供標(biāo)準(zhǔn)支持。
模型視圖編程示例
Qt--模式視圖設(shè)計
樹狀視圖與模型的代碼示例

方城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
Widget.cpp
#include "Widget.h"
#include 

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());//當(dāng)前路徑下

    m_treeView.setModel(&m_fsModel);//模型與視圖的連接

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

Widget::~Widget()
{

}

Widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include 
#include 
#include 

class Widget : public QWidget
{
    Q_OBJECT

    QFileSystemModel m_fsModel;
    QTreeView m_treeView;//樹狀視圖
public:
   widget(QWidget *parent = 0);
    ~Widget();
};

#endif // WIDGET_H

運(yùn)行的結(jié)構(gòu)如圖所示
Qt--模式視圖設(shè)計
B.模型視圖設(shè)計模式
1.模型定義標(biāo)準(zhǔn)接口(成員函數(shù))對數(shù)據(jù)進(jìn)行訪問
2.視圖通過標(biāo)準(zhǔn)接口獲取數(shù)據(jù)并定義顯示方式
3.模型使用信號與槽的機(jī)制通知視圖數(shù)據(jù)變化
4.模型中的數(shù)據(jù)都是以層次結(jié)構(gòu)表示的
C.模型中的索引
1.模型索引時數(shù)據(jù)與視圖分離的重要機(jī)制
2.模型中的數(shù)據(jù)使用唯一的索引來訪問
3.QModelIndex是Qt中的模型索引類--包含具體數(shù)據(jù)的訪問途徑,包含一個指向模型的指針
Qt--模式視圖設(shè)計
索引中的行與列--線性模型可以使用(row,column)作為數(shù)據(jù)索引Qt--模式視圖設(shè)計
模型中數(shù)據(jù)索引的通用方式--三元組(row,column,parent)
Qt--模式視圖設(shè)計
模型中數(shù)據(jù)索引的通用方式
Qt--模式視圖設(shè)計
D.Q:不同的視圖如何顯示同一個模型中的數(shù)據(jù)?
Qt中標(biāo)準(zhǔn)模型定義

Qt--模式視圖設(shè)計
數(shù)據(jù)角色的概念
1.模型中的數(shù)據(jù)在視圖中的用途可能不同
2.模型必須為數(shù)據(jù)設(shè)置特定數(shù)據(jù)角色
3.數(shù)據(jù)角色用于提示視圖數(shù)據(jù)的作用
4.數(shù)據(jù)角色是不同視圖以統(tǒng)一風(fēng)格顯示數(shù)據(jù)的標(biāo)準(zhǔn)
Qt中的數(shù)據(jù)角色定義
Qt--模式視圖設(shè)計
數(shù)據(jù)角色的意義--定義了數(shù)據(jù)在特定系統(tǒng)下的標(biāo)準(zhǔn)用途,不同的視圖可以通過相同標(biāo)準(zhǔn)顯示數(shù)據(jù)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


新聞標(biāo)題:Qt--模式視圖設(shè)計-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/dopgdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部