10

我在带有 OpenBox 的 ArchLinux 中,我想在 Qt 4.8 应用程序中全屏隐藏光标。我知道有关它的其他一些问题,但没有人每次都有效:有时光标隐藏,有时不隐藏。我无法准确理解问题何时发生,但我认为这可能与屏幕保护程序有关,因为如果我在计算机重新启动后测试我的应用程序,鼠标光标不可见(这就是我想要的)但是如果我在白天测试此功能,鼠标光标仍然全屏可见。

这是我的代码:

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

    }
    else
    {
        this->showNormal();
    }
}
4

2 回答 2

22

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

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

widget->setCursor(Qt::BlankCursor);

此外,正如文档所述:

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

所以你可以打电话:

QApplication::setOverrideCursor(Qt::BlankCursor);
于 2013-11-12T14:05:46.910 回答
1

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

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

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

于 2013-11-12T13:47:13.643 回答