使用Qt 4.8在全屏模式下隐藏光标吗?

问题描述 投票:9回答:2

我在带有OpenBox的ArchLinux中,我想将光标隐藏在Qt 4.8应用程序内的全屏上。我知道与此有关的其他问题,但是没有人每次都起作用:有时光标隐藏了,有时没有。我没有确切了解问题何时发生,但是我认为这可能与屏幕保护程序有关,因为如果在计算机重新启动后立即测试我的应用程序,则鼠标光标不可见(这正是我想要的),但是如果我白天仍在全屏显示鼠标光标,则测试此功能。

这是我的代码:

void MainWindow::toggleFullScreen()
{
    if(!this->isFullScreen())
    {
        this->showFullScreen();
        #ifdef Q_WS_QWS
            QWSServer::setCursorVisible( false );
        #endif

    }
    else
    {
        this->showNormal();
    }
}
qt qt4 mouse mouse-cursor
2个回答
20
投票

我想在全屏上隐藏光标...

您可以将光标设置为空白光标:

widget->setCursor(Qt::BlankCursor);

也,如文档所述:

即使鼠标被抓住,某些底层的窗口实现也会在离开小部件时重置游标。如果要为所有窗口小部件设置光标,即使在窗口之外,也请考虑QApplication::setOverrideCursor()

因此您可以致电:

QApplication::setOverrideCursor(Qt::BlankCursor);

1
投票

有一个名为unlutter]的程序可隐藏鼠标指针。这是一个ArchLinux软件包:

https://www.archlinux.org/packages/community/i686/unclutter/

我目前在嵌入式系统上使用它来将鼠标光标隐藏在触摸屏上。

© www.soinside.com 2019 - 2024. All rights reserved.