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);