资源简介
实现触摸屏QT滚动区手指下滑自动滚动。qt版本5.5.1。需继承带有滚动区域的原生QT类,重载mousePressEvent,mouseMoveEvent。并开启 setMouseTracking(true)。
代码片段和文件信息
#include “gzscrollarea.h“
#include
#include
#include
#include
GZScrollArea::GZScrollArea(QWidget *parent) :
QScrollArea(parent)
{
m_Body = new QWidget(this);
this->setWidget(m_Body);
//setAttribute(Qt::WA_Hover true);
this->setMouseTracking(true);
}
void GZScrollArea::setGZGeometry(int x int y int w int h)
{
this->setGeometry(x y w h);
m_Body->setGeometry(0 0 w y);
}
QWidget* GZScrollArea::getBody()
{
return m_Body;
}
//记录起始位置
void GZScrollArea::mousePressEvent(QMouseEvent *event)
{
m_TempPoint = event->pos();
}
//滑动鼠标下位
void GZScrollArea::mouseMoveEvent(QMouseEvent *event)
{
auto pos = event->pos();
auto vbar = this->verticalScrollBar();
//向下滑动 向下滚动
//auto offset = pos->y() - m_TempPoint.y();
//向上滑动 向下滚动
auto offset = m_TempPoint.y() - pos.y();
//获取当前滚动条位置
auto val = vbar->value();
//获取滚动条pagetemp区域高度
auto step = vbar->pageStep();
//设计移动位置
auto move = offset * step / m_Body->height();
if(move + val < 0 || move + val > m_Body->height()) return;
//移动
vbar->setValue(move + val);
}
相关资源
- mgn-mqt82.exe
- 触摸屏TPC7063E与S7 300 PLC之间MPI通信实
- Trojan-Qt5-Windows-0.0.4.rar
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- MCGS触摸屏西门子s7_1200驱动
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- arm触摸屏与LCD校准程序三点校准法
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- 基于ARM微处理器的液晶触摸屏接口设
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- in-cell panel_In-Cell触摸屏原理
评论
共有 条评论