• 4207阅读
  • 2回复

通过拖动鼠标来移动窗体中的内容? [复制链接]

上一主题 下一主题
离线kangroger
 
只看楼主 倒序阅读 楼主  发表于: 2012-09-25
我想做鼠标拖动来移动窗体内容的效果,试着做了一下,但是有问题。我是这样做的:
1首先新建了两个滚动条并初始化
vScrollBar=verticalScrollBar();
hScrollBar=horizontalScrollBar();
2之后在鼠标移动事件中,来检测鼠标按键和移动,并设置滚动条的位置
mouseMoveEvent(QMouseEvent * event)
{

QPoint viewPoint=event->pos();//获取当前鼠标位置
int x,y;
x=viewPoint.x();
y=viewPoint.y();
xvalue=startPoint.x()-x;//startPoint是鼠标按键时记录的位置
yvalue=startPoint.y()-y;

if(event->buttons()&Qt::LeftButton) //判断移动鼠标时,左键键是否一直按下去
{
vScrollBar->setValue(vScrollBar->value()+yvalue);//按照鼠标移动的距离来设置滚动条的位置
hScrollBar->setValue(hScrollBar->value()+xvalue);
}

}

这样做的确可以拖动,但是拖动有延迟,而且一点也不灵敏。谁可以帮忙解决一下?或者是否有其他办法?
离线kangroger
只看该作者 1楼 发表于: 2012-09-26
顶起啊,难道这么难吗?没人回帖啊!
离线wussi

只看该作者 2楼 发表于: 2012-12-17
快速回复
限100 字节
 
上一个 下一个