QTableView通过拖动/抓取表格本身进行滚动

QTableView通过拖动/抓取表格本身进行滚动,qt,qtableview,Qt,Qtableview,如何通过上下滚动使QtableView可拖动。不改变它的位置。就像在pdf阅读器中使用手动工具滚动页面一样。类启用任何滚动小部件或图形项的动态滚动 QScroller *scroller = QScroller::scroller(ui->tableView); ui->tableView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->tableViews->setHorizontalS

如何通过上下滚动使QtableView可拖动。不改变它的位置。就像在pdf阅读器中使用手动工具滚动页面一样。

类启用任何滚动小部件或图形项的动态滚动

QScroller *scroller = QScroller::scroller(ui->tableView);
ui->tableView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
ui->tableViews->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
您可能想禁用滚动条的超调策略

QScrollerProperties properties = QScroller::scroller(scroller)->scrollerProperties();
QVariant overshootPolicy = QVariant::fromValue<QScrollerProperties::OvershootPolicy>(QScrollerProperties::OvershootAlwaysOff);
properties.setScrollMetric(QScrollerProperties::VerticalOvershootPolicy, overshootPolicy);
scroller->setScrollerProperties(properties);
properties.setScrollMetric(QScrollerProperties::HorizontalOvershootPolicy, overshootPolicy);
scroller->setScrollerProperties(properties);
//Scrolling Gesture
scroller->grabGesture(ui->tableView,QScroller::LeftMouseButtonGesture);
QScrollerProperties属性=QScroller::scroller(scroller)->scrollerProperties();
QVariant overshootPolicy=QVariant::fromValue(QScrollerProperties::OvershootalwaysOF);
属性。集合CrollMetric(QScrollerProperties::垂直超调策略,超调策略);
滚动条->设置滚动条属性(属性);
属性。集合CrollMetric(QScrollerProperties::HorizontalOvershootPolicy,overshootPolicy);
滚动条->设置滚动条属性(属性);
//滚动手势
滚动条->抓取手势(用户界面->表格视图,QScroller::LeftMouseButtonGesture);
对于触摸屏,您可以将
LeftMouseButtonGesture
替换为
touchspire