前言
在使用QT 开发嵌入式类产品的UI交互界面时,我们常用到ScrollArea滑动窗口类。而该滑动窗口类默认只能通过点击拖动滑动窗口的滑动条,来实现窗口的水平或者垂直方向的滑动。
本文提供了通过重写鼠标点击相关事件的函数来实现手势滑动的功能接口,以供参考
1. 头文件
在关于定义ScrollArea窗口的类头文件中添加以下变量以及鼠标相关函数,该类继承QWidget或者QDialog基类
int mouseMove_count;//记录屏幕坐标滑动偏移量
int last_xPos; //记录上一次屏幕悬停的坐标
int current_xPos; //记录当前屏幕悬停的坐标
int result_xPos; //计算滑动条最终所需滑动目的坐标
void mouseMoveEvent(QMouseEvent *e) override; //鼠标点击滑动事件
void mouseReleaseEvent(QMouseEvent *e) override; //鼠标释放事件
以下是一个添加的示例
#ifndef GESTURESLIDEWDGT_H
#define GESTURESLIDEWDGT_H
#include <QDialog>
#include <QScrollArea>
#include <QMouseEvent>
#include <QScrollBar>
name