我在带有OpenBox的ArchLinux中,我想将光标隐藏在Qt 4.8应用程序内的全屏上。我知道与此有关的其他问题,但是没有人每次都起作用:有时光标隐藏了,有时没有。我没有确切了解问题何时发生,但是我认为这可能与屏幕保护程序有关,因为如果在计算机重新启动后立即测试我的应用程序,则鼠标光标不可见(这正是我想要的),但是如果我白天仍在全屏显示鼠标光标,则测试此功能。
这是我的代码:
void MainWindow::toggleFullScreen()
{
if(!this->isFullScreen())
{
this->showFullScreen();
#ifdef Q_WS_QWS
QWSServer::setCursorVisible( false );
#endif
}
else
{
this->showNormal();
}
}
我想在全屏上隐藏光标...
您可以将光标设置为空白光标:
widget->setCursor(Qt::BlankCursor);
也,如文档所述:
即使鼠标被抓住,某些底层的窗口实现也会在离开小部件时重置游标。如果要为所有窗口小部件设置光标,即使在窗口之外,也请考虑
QApplication::setOverrideCursor()
。
因此您可以致电:
QApplication::setOverrideCursor(Qt::BlankCursor);
有一个名为unlutter]的程序可隐藏鼠标指针。这是一个ArchLinux软件包:
https://www.archlinux.org/packages/community/i686/unclutter/
我目前在嵌入式系统上使用它来将鼠标光标隐藏在触摸屏上。