我在Qt Creator中写了一个项目,如果我写的话
QPoint cursorPos=QCursor::pos();
然后cursorPos = { - 2147483648,-2147483648}这显然是错误的。但是,如果我写
QApplication *application=new QApplication(argc,argv);
QPoint cursorPos=QCursor::pos();
然后cursorPos是正确的鼠标位置。有没有办法让QCursor :: pos()在没有QApplication的情况下工作?谢谢。 :d
答案 0 :(得分:4)
QApplication
对象做了很多初始化。 Qt文档中QApplication
的主要责任范围之一:
它管理应用程序的鼠标光标处理,请参阅setOverrideCursor()
同样来自关于QCursor
的Qt文档:
注意:可以在QGuiApplication之前创建QCursor,但是 除了作为真正的QCursor创建的占位符之外,它没有用 在QGuiApplication之后。试图使用创建的QCursor 在QGuiApplication之前会导致崩溃。
所以似乎没有QCursor
或QApplication
就无法使用QGuiApplication
。