【发布时间】:2017-11-18 19:11:40
【问题描述】:
我正在使用旧的西门子平板电脑。我想要做的是获得笔在屏幕上施加的压力。我设法在 C++ 中使用了 Qt 软件,其中QTabletEvent::pressure() 返回的压力值为 0.0 到 1.0。我的问题是,如何将这些值转换为牛顿?
如果平板电脑有 256 个压力等级,那么以牛顿为单位又意味着什么?
提前致谢
【问题讨论】:
我正在使用旧的西门子平板电脑。我想要做的是获得笔在屏幕上施加的压力。我设法在 C++ 中使用了 Qt 软件,其中QTabletEvent::pressure() 返回的压力值为 0.0 到 1.0。我的问题是,如何将这些值转换为牛顿?
如果平板电脑有 256 个压力等级,那么以牛顿为单位又意味着什么?
提前致谢
【问题讨论】:
据this:
返回设备的压力。 0.0 表示手写笔是 不在平板电脑上,1.0 表示最大压力 手写笔。
对您而言,这意味着您无法获得压力的“绝对”值(至少通过纯 Qt),因为它仅返回 0 到 1 之间的相对信息,因此您的应用程序可以对此做出相应反应信息。
你可以真正使用QtSensors,或者你可以使用你的硬件的本机API,或者你可以试试运气从Qt internals使用int QTabletDeviceData::maxPressure得到maxPressure,因为QTabletEvent::pressure()在接下来得到这个信息方式:
qreal(pressure / qreal(tablet->maxPressure - tablet->minPressure))
【讨论】: