Как использовать QCursor :: pos () без использования QApplication?

Я пишу проект в Qt Creator, и если я пишу

QPoint cursorPos=QCursor::pos();

затем cursorPos = {- 2147483648, -2147483648}, что явно неверно. Однако, если я напишу

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

затем cursorPos — это правильная позиция мыши. Есть ли способ заставить QCursor :: pos () работать без QApplication? Благодарю. : D

2

Решение

QApplication объект делает так много инициализации. Один из QApplicationОсновные сферы ответственности в документации Qt:

Он управляет обработкой курсора мыши в приложении, см. SetOverrideCursor ()

Также из документации Qt о QCursor :

Примечание: возможно создать QCursor до QGuiApplication, но
это бесполезно, кроме как в качестве заполнителя для реального созданного QCursor
после QGuiApplication. Попытка использовать созданный QCursor
перед QGuiApplication приведет к сбою.

Так что кажется, что это не возможно использовать QCursor без QApplication или же QGuiApplication,

4

Другие решения


По вопросам рекламы [email protected]