注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙漠里de烟雨

原创分享,禁止转载

 
 
 

日志

 
 

Qt---设置QTableView的QHeaderView的某section(列)隐藏 ( 附)  

2014-01-11 09:11:08|  分类: QT5.x与QML |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Qt---设置QTableView的QHeaderView的某section(列)隐藏 ( 附) - 漠雨 - 沙漠里de烟雨
 
Qt---设置QTableView的QHeaderView的某section(列)隐藏 ( 附) - 漠雨 - 沙漠里de烟雨

主要代码:
这里,enum { HIDEDCOLORBTNWIDTH = 5 };

InformationPositionSubHeaderview::InformationPositionSubHeaderview(Qt::Orientation orientation,QWidget* parent) : QHeaderView(orientation,parent)
{
this->setSectionsClickable(false);
this->m_IsHided = false;
}

InformationPositionSubHeaderview::~InformationPositionSubHeaderview()
{
}

void InformationPositionSubHeaderview::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
{
    painter->save();
QHeaderView::paintSection(painter, rect, logicalIndex); 
painter->restore();

if(logicalIndex==0 && m_IsHided==false)
{
painter->drawText(rect,Qt::AlignRight|Qt::AlignVCenter, "<<");
}

if(logicalIndex==1 && m_IsHided==true)
{
QRect leftRect = QRect(rect.x(),rect.y(),HIDEDCOLORBTNWIDTH,rect.height());
painter->setBrush(QBrush(Qt::blue));
painter->drawRect(leftRect);
}

}

void InformationPositionSubHeaderview::mousePressEvent(QMouseEvent * event)
{
if(event->button()==Qt::LeftButton) 
{
QFontMetrics fm(this->font());
int textWidth = fm.width("<<");

int index = logicalIndexAt(event->pos());
int xPos =event->pos().x();
int xLeft = sectionPosition(index)+sectionSize(index);
if(index==0 && m_IsHided==false && (xPos<xLeft-HIDEDCOLORBTNWIDTH && xPos>xLeft-textWidth) )
{
setSectionHidden(index,true);
m_IsHided = true;
}
else if(index==1 && m_IsHided==true && xPos<=HIDEDCOLORBTNWIDTH)
{
setSectionHidden(index-1,false);
m_IsHided = false;
}
}
QHeaderView::mousePressEvent(event);
}
 
  评论这张
 
阅读(486)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017