虽然使用比较简单,但亲自过一遍还是有必要的,权当一个学习笔记吧,记录在此。

#include "tablewidgetxxx.h"
#include <QtGui/QApplication>
#include <QtGui/QTableWidget> typedef struct {
char * country;
double GDP, population;
}GDP_FACTS; GDP_FACTS GDP_facts[] = {
{"United States", 14.6, 2.7 },
{"PRC China", 6.1, 13.0 },
{"Japan", 5.4, 1.3 },
{"Germany", 3.3, 0.8 },
{"United Kingdom", 2.3, 0.6 }
}; int main(int argc, char *argv[])
{
QApplication app(argc, argv); const int rows=, columns=;
// 实例化Table,并指定行列数
QTableWidget widget(rows, columns);
// 设置表头
QStringList list;
list << "Country" << "Grand GDP" << "Population" << "GDP per person";
widget.setHorizontalHeaderLabels(list); for (int row=; row<rows; row++) {
// 每一个items[j]代表一个Cell,整体组成一行
QTableWidgetItem * items[columns];
// 设置每一行的Cell风格
for (int j=; j<columns; j++ ) {
items[j] = new QTableWidgetItem(); // 创建一个QTableWidgetItem对象表示表格中的一个Cell数据项
items[j]->setTextAlignment( Qt::AlignHCenter);
QFont font; font.setPointSize();
items[j]->setFont( font );
}
// 设置每一行的Cell内容
GDP_FACTS * p = & GDP_facts[row]; // 结构体指针赋值,使之指向提前定义的固定内容
items[]->setData(Qt::DisplayRole, p->country ); // 构造的QVariant对象存放一个QString值
items[]->setData(Qt::DisplayRole, p->GDP ); // 构造的QVariant对象存放double类型的值
items[]->setData(Qt::DisplayRole, p->population );
items[]->setData(Qt::DisplayRole, p->GDP / p->population );
// Table的Cell要一个一个设置
for (int j=; j<columns; j++ )
widget.setItem(row, j, items[j] ); // 调用setItem()将它们添加到QTableWidget的内部模型中。
}
// 设置表头排序
widget.setSortingEnabled(true ); widget.resize(, );
widget.show();
return app.exec();
}

参考:

http://book.51cto.com/art/201207/347904.htm

超详细说明:TableWidget使用说明和增删改操作的实现

http://www.cnblogs.com/li-peng/p/3654634.html

QTableWidget使用简单,因为不再存在父节点的关系的更多相关文章

  1. 红黑树之 原理和算法详细介绍(阿里面试-treemap使用了红黑树) 红黑树的时间复杂度是O(lgn) 高度<=2log(n+1)1、X节点左旋-将X右边的子节点变成 父节点 2、X节点右旋-将X左边的子节点变成父节点

    红黑树插入删除 具体参考:红黑树原理以及插入.删除算法 附图例说明   (阿里的高德一直追着问) 或者插入的情况参考:红黑树原理以及插入.删除算法 附图例说明 红黑树与AVL树 红黑树 的时间复杂度 ...

  2. treeview插件使用:根据子节点选中父节点

    鄙人公司没有专门的前端,所以项目开发中都是前后端一起抡.最近用bootstrap用的比较频繁,发现bootstrap除了框架本身的样式组件外,还提供了多种插件供开发者选择.本篇博文讲的就是bootst ...

  3. 使用jquery获取父元素或父节点

    使用jquery获取父元素或父节点,比较简单,jquery提供了丰富的方法来让我们使用jquery获取父元素或父节点   jquery获取父元素方法比较多,比如parent(),parents(),c ...

  4. cocos子节点转父节点坐标 原理浅析(局部坐标转世界坐标同理)

    在CCNode的类中,有一个得到 一个节点坐标系转换父亲坐标系的一个矩阵,节点内坐标乘以这个矩阵,就可以转换为在节点父节点中的坐标,方法名为: Mat4& Node::getNodeToPar ...

  5. 总结获取原生JS(javascript)的父节点、子节点、兄弟节点

    关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) <ul> <l ...

  6. 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <vector> ...

  7. Z-tree 统计每一父节点的叶子节点数(看这一篇就够了)

    最近刚走出校园的我找到了第一份工作,在入职考核中就遇见了一道Z-tree的试题 这道题目本身是不难的,但是我第一次接触这个插件而且还把解决问题的方向搞错了,弄的我好几天都很难受. 弄得我都开始怀疑人生 ...

  8. [LeetCode] 1123. Lowest Common Ancestor of Deepest Leaves 最深叶结点的最小公共父节点

    Given a rooted binary tree, return the lowest common ancestor of its deepest leaves. Recall that: Th ...

  9. 找到树中指定id的所有父节点

    const data = [{ id: 1, children: [{ id: 2, children: [{ id: 3, }, { id: 4, }], }], }, { id: 5, child ...

随机推荐

  1. objective-c自学总结(三)---面向对象的封装,继承与多态

    面向对象的三大特性 封装 继承 多态 1.封装: 隐藏属性,方法或实现细节的过程称为封装 信息隐藏,隐藏对象的实现细节,不允许用户看到 将东西包装在一 然后以新的完整形式呈现出来 例如,两种或多种化学 ...

  2. Understanding Convolutions【转】

    Understanding Convolutions In a previous post, we built up an understanding of convolutional neural ...

  3. Careercup - Microsoft面试题 - 6314866323226624

    2014-05-11 05:29 题目链接 原题: Design remote controller for me. 题目:设计一个遥控器. 解法:遥控什么?什么遥控?传统的红外线信号吗?我只能随便说 ...

  4. Python编码设置

    系统编码顺序: 1, a.encode(sys.stdout.encoding) 2, a.encode(default_string) sys.stdout.encoding里的值可以用环境变量PY ...

  5. ionic 实现双击返回键退出应用功能

    ionic 实现双击返回键退出应用功能 keywords cordova,ngcordova,phonegap,ionic,双击,返回键,退出 例子 准备Toast插件,提示用,用户体验好点,不是必须 ...

  6. 【POJ】【1160】Post Office

    DP/四边形不等式 邮局,经典的四边形不等式例题! 关于四边形不等式的学习请看 赵爽论文<动态规划加速原理之四边形不等式> 题目总结&题解:http://blog.csdn.net ...

  7. nodeJs 初探 ~

    今天晚上,开始时间了一下nodejs,跟着 Node入门 一步步的往下走.对node开发也有了初步的了解. 期间没有碰到什么问题,只有在最后的时候,碰到了几个问题.在这里记录一下: 1 . cross ...

  8. 3-Highcharts曲线图之显示点值折线图

    直接上代码  根据代码注释讲解 <!DOCTYPE> <html lang='en'> <head> <title>3-Highcharts曲线图之显示 ...

  9. 【转载】Redis与Memcached的区别

    传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...

  10. 16进制转rgb

    - (void)colorWithHexString: (NSString *) stringToConvert { //去掉前后空格换行符 NSString *cString = [[stringT ...