• 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();
    }
    


     

  • 相关阅读:
    ubuntu15.04下安装配置docker
    在Vmware/VirtualBox虚拟机环境中正确打开虚拟机
    windows下使用cx_freeze将Python程序打包成exe可执行文件
    Python正则表达式学习小结
    Ubuntu环境下利用Python3+PyQt5+Eric6进行GUI编程
    C#学习笔记——控件篇
    商务英语学习第一课(lending(借贷))
    Ajax的请求方式:get和post
    XML就像是扩展应用范围的HTML
    JQ数组=jQuery对象数组
  • 原文地址:https://www.cnblogs.com/xj626852095/p/3648095.html
Copyright © 2020-2023  润新知