• 10868阅读
  • 6回复

[提问]QtableWidget和QheaderView的问题 [复制链接]

上一主题 下一主题
离线hellomrchen
 

只看楼主 倒序阅读 楼主  发表于: 2014-06-05
1.使用QtableWidget如何实现下图表头的效果

2.如何使用QheaderView
3.万分感谢。。。

离线rozendew

只看该作者 1楼 发表于: 2014-06-05
多重表头很麻烦的,http://qt-apps.org/上有这个例子:FancyTable,可以参考
我只是知道我所知道的
离线weinkym

只看该作者 2楼 发表于: 2014-06-05
可以隐藏表头,然后用合并单元格
离线hellomrchen

只看该作者 3楼 发表于: 2014-06-06
回 rozendew 的帖子
rozendew:多重表头很麻烦的,http://qt-apps.org/上有这个例子:FancyTable,可以参考 (2014-06-05 16:02) 

没有找到这个例子啊。。
离线hellomrchen

只看该作者 4楼 发表于: 2014-06-06
回 weinkym 的帖子
weinkym:可以隐藏表头,然后用合并单元格 (2014-06-05 16:39) 

我来试试效果。。
离线realfan

只看该作者 5楼 发表于: 2014-06-06
这个回复错了,请忽略。
离线realfan

只看该作者 6楼 发表于: 2014-06-06
  1. m_pTbl = new QTableWidget(5, 7, this);
  2.     m_pTbl->verticalHeader()->setVisible(false);
  3.     m_pTbl->horizontalHeader()->setVisible(false);
  4.     int idxCol = 0;
  5.     int idxRow = 0;
  6.     m_pTbl->setSpan(idxRow, idxCol, 2, 1);
  7.     QTableWidgetItem * pItem = new QTableWidgetItem("a");
  8.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  9.     pItem->setFlags(Qt::ItemIsUserCheckable);
  10.     m_pTbl->setItem(idxRow, idxCol, pItem);
  11.     ++idxCol;
  12.     pItem = new QTableWidgetItem("b");
  13.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  14.     pItem->setFlags(Qt::ItemIsUserCheckable);
  15.     m_pTbl->setSpan(idxRow, idxCol, 2, 1);
  16.     m_pTbl->setItem(idxRow, idxCol, pItem);
  17.     ++idxCol;
  18.     pItem = new QTableWidgetItem("c");
  19.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  20.     pItem->setFlags(Qt::ItemIsUserCheckable);
  21.     m_pTbl->setSpan(idxRow, idxCol, 2, 1);
  22.     m_pTbl->setItem(idxRow, idxCol, pItem);
  23.     
  24.     ++idxCol;
  25.     pItem = new QTableWidgetItem("d");
  26.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  27.     pItem->setFlags(Qt::ItemIsUserCheckable);
  28.     m_pTbl->setSpan(idxRow, idxCol, 1, 4);
  29.     m_pTbl->setItem(idxRow, idxCol, pItem);
  30.     
  31.     ++idxRow;
  32.     idxCol = 3;
  33.     pItem = new QTableWidgetItem("e");
  34.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  35.     pItem->setFlags(Qt::ItemIsUserCheckable);
  36.     m_pTbl->setItem(idxRow, idxCol, pItem);
  37.     
  38.     ++idxCol;
  39.     pItem = new QTableWidgetItem("f");
  40.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  41.     pItem->setFlags(Qt::ItemIsUserCheckable);
  42.     m_pTbl->setItem(idxRow, idxCol, pItem);
  43.     
  44.     ++idxCol;
  45.     pItem = new QTableWidgetItem("g");
  46.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  47.     pItem->setFlags(Qt::ItemIsUserCheckable);
  48.     m_pTbl->setItem(idxRow, idxCol, pItem);
  49.     
  50.     ++idxCol;
  51.     pItem = new QTableWidgetItem("e");
  52.     pItem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  53.     pItem->setFlags(Qt::ItemIsUserCheckable);
  54.     m_pTbl->setItem(idxRow, idxCol, pItem);


大概是这样写
快速回复
限100 字节
 
上一个 下一个