使用 Qt c++ 在 Windows Surface Pro 上获取加速度计数据
Getting Accelerometer data on windows Surface pro using Qt c++?
如何使用Qt c++在Windows Surface pro上获取加速度计数据?我尝试了下面的代码,但它在所有情况下都只给出了 0,0,0 个值。请帮帮我!
QAccelerometer *accmeter = new QAccelerometer();
accmeter->start();
QAccelerometerReading *reading = new QAccelerometerReading();
qreal x = reading->x();
qreal y = reading->y();
qreal z = reading->z();
QMessageBox *box = new QMessageBox();
box->setText("x="+ QString::number(x)+ "n" "y="+ QString::number(y)+ "n" "z="+ QString::number(z)+ "n");
box->exec();
为了获得加速度计数据,Qt公司建议readingChanged
收听信号,因为启动传感器后没有立即可用的数据。您的代码将缩短为如下所示的内容,accMeter
更改为类的成员:
accmeter = new QAccelerometer();
connect(accmeter, SIGNAL(readingChanged()), this, SLOT(checkReading()));
accmeter->start();
然后将一个名为 checkReading
的成员函数添加到您的类中:
MyClass::checkReading() {
qreal x = accmeter->reading()->x();
qreal y = accmeter->reading()->y();
qreal z = accmeter->reading()->z();
QMessageBox *box = new QMessageBox();
box->setText("x="+ QString::number(x)+ "n" "y="+ QString::number(y)+ "n" "z="+ QString::number(z)+ "n");
box->exec();
}
请注意,为了完美复制上面的代码,您应该将disconnect(accmeter, SIGNAL(readingChanged()), this, SLOT(checkReading()));
作为最后一行附加到成员函数中。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 计算数组c++的平均值
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 如何获取加速度值?
- 使用阈值进行加速度计振动检测
- 使用 Qt c++ 在 Windows Surface Pro 上获取加速度计数据
- Sprite套件 - 播放器使用加速度计的屏幕
- 设备陀螺仪(加速度计)在 Cocos2dx-2.2.6 中无法使用 -ObjC 链接器标志
- 无法访问在类"Windows::D evices::传感器::加速度计"中声明的私有成员
- 如何在 cocos2dx 中使用加速度计
- 从vector和unordered_map中获取三个出现次数最多的单词及其计数值
- 加速度计"高度变化"代码 PIC