#include "handle.h"
Handle::Handle(QWidget *parent)
: QWidget(parent)
{
setAutoFillBackground(true);
setPalette(QPalette(Qt::white));
resize(200,200);
setMinimumSize(100,100);
mouseX=width()/2;
mouseY=height()/2;
tim=new QTimer(this);
connect(tim,&QTimer::timeout,this,[=]{
emit keyNumchanged(getKeyNum());
});
connect(this,&Handle::keyNumchanged,this,[=](int num){
qDebug()<<num<<endl;
});
}
Handle::~Handle()
{
}
void Handle::paintEvent(QPaintEvent *){
QPainter painter(this);
int side = qMin(width(), height());
padR=side/2; //底盘半径
padX=padR;//底盘圆心
padY=padR;//底盘圆心
handleR=padR/4;//摇杆圆半径
int handleMaxR=padR-handleR;
QColor handleColor(Qt::gray);
//加载底盘图像
painter.save();
painter.scale(side / 400.0, side / 400.0);//坐标会随窗口缩放
painter.drawPixmap(0, 0, QPixmap(":/image/pad.png")
Qt 模拟安卓虚拟摇杆实现
最新推荐文章于 2023-02-27 09:40:29 发布
该博客介绍了如何使用Qt来模拟安卓虚拟摇杆,详细阐述了摇杆在圆盘内的移动逻辑,以及鼠标按下时如何定时发送键值。同时提供了工程文件供读者参考。
摘要由CSDN通过智能技术生成