Qt:在应用启动时隐藏鼠标指针

时间:2017-05-16 15:29:10

标签: c++ qt

我有一个小型Qt应用程序,可以在屏幕上显示图像(更多内容包括源代码:Qt: Modify alpha channel transparency of a windowless QLabel)。

默认情况下,Qt在我的图像顶部插入一个鼠标指针。对于我的应用程序,我不需要与Qt进行任何物理用户交互,因此不需要鼠标指针。

我使用了以下代码来隐藏鼠标指针,但只有在鼠标物理移动后才会隐藏鼠标,并且只在显示的图像中隐藏鼠标。如果我的图像小于显示区域,我可以自由地将鼠标指针移动到这个空间。

int main (int argc, char *argv[])
{
    QApplication app(argc, argv);

    // Try to hide the cursor
    app.setOverrideCursor(QCursor(Qt::BlankCursor));

    return app.exec();
}

当我启动应用程序而不需要实际移动鼠标时,如何隐藏鼠标指针?

我在我的嵌入式设备上运行Qt版本4.8.4。

(另外,我在没有QWidget窗口的情况下运行我的应用程序。所以我正在寻找不需要这个的解决方案。)

2 个答案:

答案 0 :(得分:1)

我找到了一个命令行选项“-nomouse”,它似乎可以解决问题。这不是我理想的解决方案,但它现在有效。

$ ./my-Qt-application -nomouse

http://doc.qt.io/qt-4.8/qt-embedded-running.html(在命令行选项下搜索-nomouse)

答案 1 :(得分:0)

试试这段代码:

app.setCursorVisible(false);

或者这个:

app.setOverrideCursor(Qt::BlankCursor);