Qt 4.8 Скрыть курсор в полноэкранном режиме
Я нахожусь в ArchLinux с OpenBox и хочу спрятать курсор на весь экран в приложении Qt 4.8. Я знаю о каком-то другом вопросе, но никто не работает каждый раз: иногда курсор скрывается, иногда нет. Мне не удалось точно понять, когда возникает проблема, но я думаю, что это может быть связано с заставкой, потому что, если я тестирую свое приложение сразу после перезагрузки компьютера, курсор мыши не виден (и это то, что я хочу), но если я тестирую эту функцию в течение дня, курсор мыши все еще виден в полноэкранном режиме.
Это мой код:
void MainWindow::toggleFullScreen()
{
if(!this->isFullScreen())
{
this->showFullScreen();
#ifdef Q_WS_QWS
QWSServer::setCursorVisible( false );
#endif
}
else
{
this->showNormal();
}
}
2 ответа
Вы можете установить курсор на пустой курсор: -
widget-> SetCursor(Qt::BlankCursor);
Кроме того, как утверждают документы: -
Некоторые базовые реализации окна сбрасывают курсор, если он покидает виджет, даже если мышь захвачена. Если вы хотите, чтобы курсор был установлен для всех виджетов, даже если они находятся за пределами окна, рассмотрите QApplication::setOverrideCursor().
Так что вы можете позвонить: -
QApplication::setOverrideCursor(Qt::BlankCursor);
Есть программа unclutter, которая скрывает указатель мыши. Вот пакет ArchLinux:
https://www.archlinux.org/packages/community/i686/unclutter/
В настоящее время я использую его во встроенной системе для сокрытия курсора мыши на сенсорном экране.