2014-07-05 4 views
2

我Qt Creator中写一个项目,如果我写如何使用QCursor :: pos()而不使用QApplication?

QPoint cursorPos=QCursor::pos(); 

然后cursorPos = { - 2147483648,-2147483648}这显然是错误的。但是,如果我写

QApplication *application=new QApplication(argc,argv); 
QPoint cursorPos=QCursor::pos(); 

然后cursorPos是正确的鼠标位置。有没有什么办法可以让QCursor :: pos()在没有QApplication的情况下工作?谢谢。 :D

回答

4

QApplication对象做了很多初始化。其中QApplication的Qt文档中的主要责任领域:

它管理应用程序的鼠标操作,见setOverrideCursor()

从Qt文档

兼谈QCursor

注意:可以在QGuiApplication之前创建一个QCursor,但是 除非在QGui之后创建了一个真实QCursor的创建者 ,否则它是无用的应用。尝试使用QGuiApplication之前创建的 的QCursor将导致崩溃。

如此看来,这是不可能使用QCursor没有QApplicationQGuiApplication

相关问题