#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-04-13 10:54:48 发布