zoukankan      html  css  js  c++  java
  • QT MVC 模型/视图

    1、 模型视图实例一, QFileSystemModel  QTreeView ,model/view示例。

    #include <QApplication>
    #include <QFileSystemModel>
    #include <QTreeView>
    #include <QListView>
    #include <QStandardItemModel>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QFileSystemModel model;
        model.setRootPath("/");
    
        QTreeView tree;
        tree.setModel(&model);
        tree.setRootIndex(model.index("/"));
        tree.setFixedSize(500, 400);
        tree.show();
        return a.exec();
    }
    


     2. QStandardItemModel 模型

    #include "dialog.h"
    #include <QApplication>
    #include <QFileSystemModel>
    #include <QTreeView>
    #include <QListView>
    #include <QStandardItemModel>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QStandardItemModel model;
        QStandardItem *parentItem = model.invisibleRootItem();
    
        QStandardItem *item0 = new QStandardItem;
        item0->setText("A");
        QPixmap pixmap0(50, 50);
        pixmap0.fill("red");
        item0->setIcon(QIcon(pixmap0));
        item0->setToolTip("indexA");
    
        parentItem->appendRow(item0);
        parentItem = item0;
    
        QStandardItem *item1 = new QStandardItem;
        item1->setText("B");
        QPixmap pixmap1(50, 50);
        pixmap1.fill("green");
        item1->setIcon(QIcon(pixmap1));
        item1->setToolTip("indexB");
        parentItem->appendRow(item1);
    
        QStandardItem *item2 = new QStandardItem;
        item2->setText("C");
        QPixmap pixmap2(50, 50);
        pixmap2.fill("blue");
        item2->setIcon(QIcon(pixmap2));
        item2->setToolTip("indexC");
        parentItem->appendRow(item2);
    
        QTreeView view;
        view.setModel(&model);
        view.show();
    
        QModelIndex indexA = model.index(0,0,QModelIndex());
        qDebug() << "indexA row count: " << model.rowCount(indexA);
        QModelIndex indexB = model.index(1,0,indexA);
        qDebug() << "indexB text: " << model.data(indexB, Qt::EditRole).toString();
    
        return a.exec();
    }
    


     

  • 相关阅读:
    常用JVM配置参数
    JVM运行机制
    go 奇技淫巧
    如何实现LRU(最近最少使用)缓存淘汰算法?
    数组下标为什么是0而不是1?
    ServiceMesh 演化进程
    CAP定理详解
    vscode 调试配置信息
    Ubuntu 断网问题解决
    ubuntu 关闭指定占用端口
  • 原文地址:https://www.cnblogs.com/xj626852095/p/3648095.html
Copyright © 2011-2022 走看看