背景:,我正在开发一个有点大的基于Qt的图形用户界面,它可以处理与触摸屏的所有用户交互。该程序的设计使得用户不需要访问命令提示符就能做任何事情,包括重新校准触摸屏。我已经编写了一个仿制的ts_calibrate实用程序,它以QWidget的形式运行,可以在/etc/pointercal上修改tslib的校准文件。
但是,虽然我可以修改校准文件,但在关闭和重新启动程序之前,对校准的更改似乎不会被应用。我已经编写了一个脚本,可以处理重新打开程序,但我想找到一种更优雅的方式这样做,使用户的麻烦保持在最低限度。
简单地说,在Qt的一个类中是否有一个函数可以在不重新启动应用程序的情况下动态地重新加载tslib的校准文件?我已经翻阅了QWSServer类引用,但是我没有找到任何看起来像它做我想要它做的事情。
发布于 2011-01-03 17:35:52
结果表明,可以在不重新启动应用程序的情况下重新加载驱动程序。为此,您可以关闭并重新打开指针设备,使用QWSServer类中的如下方法:
#include <QWSServer>
...
QWSServer::instance()->closeMouse();
QWSServer::instance()->openMouse();这将导致重新加载tslib的校准文件。例如,如果您以错误的校准启动程序,在程序运行时更正触摸屏的校准文件,然后调用这些方法,指针将调整以适应新的校准。
发布于 2010-12-31 10:16:45
与Qt无关。您可以下载滑脱的源代码并查看测试/ts_stanate.c所做的工作。
发布于 2017-10-20 11:53:37
ts_reconfig()应该做你想做的事。
https://stackoverflow.com/questions/4503223
复制相似问题