• 3982阅读
  • 3回复

请问:如何hold住qtablewidget的highlight状态 [复制链接]

上一主题 下一主题
离线honghushw
 

只看楼主 正序阅读 楼主  发表于: 2010-01-14
设置qtablewidget的selection为可选多行和lineselection
如果选中多行之后离开这个qtablewidget再回来(focu-->lose focus-->set focus),如何保持住原先的highlight还在,而且单击这多行中的任一行,就变成只highlight这一行?
离线honghushw

只看该作者 3楼 发表于: 2010-01-19
补充一下:
我的原意是点table的空白部分,原先的highlight不消失。
最开始reset的部分可以,可是选择多行之后,再单击其中的一行,没法highlight上去
所以加上后面的判断部分
离线honghushw

只看该作者 2楼 发表于: 2010-01-19
应该说我表达错了
这个问题我解决了
呵呵
代码如下
在mousereleaseevent中,如上的代码,加上以下几句:
QPoint pos = event->pos();
QPersistentModelIndex index = indexAt(pos);
if (index.isValid())
{
    QAbstractItemView::mouseReleaseEvent(event);
}
else
{
如上的reset部分
}
结贴了。
呵呵。
离线honghushw

只看该作者 1楼 发表于: 2010-01-14
void QTableWidgetNew::mouseReleaseEvent(QMouseEvent * event )
{
    this->reset();
    emit clicked(this->currentIndex ());
    
    return;
}

目前我用如上的代码可以hold住,可是当我点击highlight中的某一行时,这个多行的highlight没有如我所愿的变成单行。
所以来此求助。
望各位老鸟不吝赐教,谢谢!
快速回复
限100 字节
 
上一个 下一个