博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
34.QT模型(表格绘制)
阅读量:4326 次
发布时间:2019-06-06

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

  • modellex.h
    1 #ifndef MODELEX_H 2 #define MODELEX_H 3 #include 
    4 #include
    5 #include
    6 #include
    7 #include
    8 9 10 class modelex : public QAbstractTableModel11 {12 13 public:14 explicit modelex(QObject *parent = 0);15 16 virtual int rowCount(const QModelIndex &parent=QModelIndex()) const;17 virtual int columnCount(const QModelIndex &parent=QModelIndex()) const;18 QVariant data(const QModelIndex &index, int role) const;19 QVariant headerData(int section, Qt::Orientation orientation, int role) const;20 21 private:22 QVector
    army;23 QVector
    weapon;24 QMap
    armymap;25 QMap
    weaponmap;26 27 QStringList weaponlist;28 QStringList armylist;29 QStringList header;30 31 void showModel();32 };33 34 #endif // MODELEX_H

     

  • modelex.cpp
    1 #include "modelex.h" 2  3 modelex::modelex(QObject *parent):QAbstractTableModel(parent) 4 { 5     armymap[1] ="空军"; 6     armymap[2] ="海军"; 7     armymap[3] ="陆军"; 8  9     weaponmap[1] = "AK47";10     weaponmap[2] = "M16";11     weaponmap[3] = "M18";12     showModel();13 }14 15 int modelex::rowCount(const QModelIndex &parent) const16 {17      return army.size();//行数18 }19 20 int modelex::columnCount(const QModelIndex &parent) const21 {22    return 2;//列数23 }24 25 //返回每一行每一列的数据26 QVariant modelex::data(const QModelIndex &index, int role) const27 {28     if(!index.isValid())29     {30         return QVariant();31     }32     if(role == Qt::DisplayRole)33     {34         switch(index.column())35         {36             case 0:37                 return armymap[army[index.row()]];38                 break;39             case 1:40                 return armymap[weapon[index.row()]];41                 break;42             default:43                 return QVariant();44         }45 46     }47     return QVariant();48 }49 50 QVariant modelex::headerData(int section, Qt::Orientation orientation, int role) const51 {52     if(role == Qt::DisplayRole && Qt::Horizontal == orientation)53     {54         //返回表的开头55         return header[section];56     }57     else58     {59         return QAbstractTableModel::headerData(section,orientation,role);60     }61 }62 63 void modelex::showModel()64 {65     header<<"兵种" <<"兵器";66     //数字与字符串对应67     army<<1<<2<<3<<2<<1;68     weapon<<1<<2<<3<<2<<1;69 }

     

  • main.cpp
    1 #include "widget.h" 2 #include 
    3 #include
    4 #include "modelex.h" 5 6 int main(int argc, char *argv[]) 7 { 8 QApplication a(argc, argv); 9 //Widget w;10 //w.show();11 modelex m;12 QTableView view;13 view.setModel(&m);14 view.show();15 view.resize(800,600);16 17 return a.exec();18 }

     

运行效果

 

转载于:https://www.cnblogs.com/xiaochi/p/8795171.html

你可能感兴趣的文章
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
Linux下Nginx安装
查看>>
LVM扩容之xfs文件系统
查看>>
Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>