QScrollBar如何固定滚动距离

重写QScrollBar中的wheelEvent事件

void MyScrollBar::wheelEvent(QWheelEvent * event)
{
	int para = event->angleDelta().y();//获得鼠标滚轮的滚动距离para,para<0向下滚动,>0向上滚动  
	int tempStep = this->value();
	if (para < 0)
	{
		//向下滚动,设定鼠标滚轮每滚动一个单位,滑块就移动20个单位  
		this->setSliderPosition(tempStep + 20);
	}
	else
	{
		//向上滚动  
		this->setSliderPosition(tempStep - 20);
	}
	event->accept();      //接收该事件
}

如果对QTableWidget或QTabelView中滚动条设置距离外加

m_tableView->setVerticalScrollBar(m_scrollBar);

m_tableView->setVerticalScrollMode(QTableWidget::ScrollPerPixel);//以像素为单位滚动

m_tableView为(QTabelWidget或QTabelView对象)

你可能感兴趣的:(Qt)