MessageListView::MessageListView(QWidget *parent) : QTableView(parent) { this->horizontalHeader()->hide(); this->verticalHeader()->hide(); this->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); this->verticalHeader()->setDefaultSectionSize(60); this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); this->setShowGrid(false); this->setSelectionMode(QAbstractItemView::NoSelection); /* * 添加滑屏操作 */ this->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); QScroller *scroller = QScroller::scroller(this->viewport()); QScrollerProperties prop = scroller->scrollerProperties(); prop.setScrollMetric(QScrollerProperties::AxisLockThreshold, 0.66); prop.setScrollMetric(QScrollerProperties::ScrollingCurve, QEasingCurve(QEasingCurve::OutExpo)); prop.setScrollMetric(QScrollerProperties::DecelerationFactor, 0.05); prop.setScrollMetric(QScrollerProperties::MaximumVelocity, 0); prop.setScrollMetric(QScrollerProperties::OvershootDragResistanceFactor, 0.33); prop.setScrollMetric(QScrollerProperties::OvershootScrollDistanceFactor, 0.33); prop.setScrollMetric(QScrollerProperties::SnapPositionRatio, 0.93); prop.setScrollMetric(QScrollerProperties::DragStartDistance, 0.001); prop.setScrollMetric(QScrollerProperties::SnapPositionRatio,0.5); scroller->setScrollerProperties(prop); scroller->grabGesture(this, QScroller::TouchGesture); scroller->grabGesture(this, QScroller::LeftMouseButtonGesture); }
AllSensorsDialog::AllSensorsDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AllSensorsDialog) { ui->setupUi(this); #ifdef Q_OS_ANDROID this->setWindowState(Qt::WindowMaximized); #else this->resize(1000,750); #endif QScroller *scroller = QScroller::scroller(ui->scrollArea); scroller->grabGesture(ui->scrollArea, QScroller::LeftMouseButtonGesture); }
void StreamsWidget::setupKineticScroller(QObject *target) { QScrollerProperties sp; sp.setScrollMetric(QScrollerProperties::DragVelocitySmoothingFactor, 0.6); sp.setScrollMetric(QScrollerProperties::MinimumVelocity, 0.0); sp.setScrollMetric(QScrollerProperties::MaximumVelocity, 0.5); sp.setScrollMetric(QScrollerProperties::AcceleratingFlickMaximumTime, 0.4); sp.setScrollMetric(QScrollerProperties::AcceleratingFlickSpeedupFactor, 1.2); sp.setScrollMetric(QScrollerProperties::SnapPositionRatio, 0.2); sp.setScrollMetric(QScrollerProperties::MaximumClickThroughVelocity, 0); sp.setScrollMetric(QScrollerProperties::DragStartDistance, 0.001); sp.setScrollMetric(QScrollerProperties::MousePressEventDelay, 0.5); QScroller* scroller = QScroller::scroller(target); scroller->grabGesture(target, QScroller::LeftMouseButtonGesture); scroller->setScrollerProperties(sp); }