Qt用了2个星期,深深被Qt的灵活性折服,随心所欲连接事件,丰富的功能,尤其是做界面,太强大了,用了十多年VC了,感觉做界面还是弱项,虽然有Xtreme toolkit pro之类的辅助,但是实现在一个数据库表格中行高随着鼠标的移动而变化的功能,还得许多代码,另外就是对图像的支持,GDI+?依然很麻烦。随便扯下,基本思想如下:
1、要跟踪鼠标QTableView要设置跟踪标志: w.setMouseTracking(true);
2、订阅感兴趣的事件:QObject::connect(&w, SIGNAL(entered(const QModelIndex&)), &barDelegate, SLOT(OnEntered ( const QModelIndex &)));
3、事件处理:
public slots:
void OnEntered ( const QModelIndex & index )
{
qDebug() << "mouse enter!";
int row = index.row();
if(row != prevRow)
{
pView->setRowHeight(row, 70);
pView->selectRow(row);
if(prevRow != -1)
{
pView->setRowHeight(prevRow, 40);
}
prevRow = row;
}
}
4、学的时间短,

这篇博客介绍了如何在Qt的QTableView中实现行高随着鼠标移动而变化的功能。作者提到,通过设置QTableView的鼠标跟踪标志,订阅并处理鼠标进入事件,可以实现这一效果。尽管Qt编译复杂,但其丰富的功能和流畅的性能让作者深感赞叹,特别是在处理大量数据时的表现。文章提供了相关的代码示例以供测试和学习。
最低0.47元/天 解锁文章
1314

被折叠的 条评论
为什么被折叠?



