如何在启动时隐藏鼠标指针
How to hide mouse pointer on startup?
我有一个运行linux的嵌入式触摸屏,我的应用程序是Qt/C++。
我启动应用程序的主要功能如下:
#include <QApplication>
#include <QThread>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// Create the app
QApplication app(argc, argv);
// Hide the pointer
app.setOverrideCursor( QCursor( Qt::BlankCursor ) );
// Create main window
MainWindow *window = new MainWindow;
// Set up the UI and execute the App
window->show();
app.exec();
// tidy up
delete(window);
return 0;
}
我遇到的问题是,当我运行程序时,光标会显示出来。但我一触摸屏幕(该应用程序是全屏应用程序),光标就会消失。
我读到这可能是一个简单的焦点问题,即我的应用程序不在焦点上或诸如此类。如何确保我的应用程序在启动时成为焦点?
或
我把鼠标指针藏起来有什么不对吗?
---编辑---
如果我删除app.setOverrideCursor( QCursor( Qt::BlankCursor ) );
行,那么我就可以专注于我的应用程序。所以这句话让我的应用程序失去了焦点。
因此,作为一个快速破解,我在主窗口中放置了一个QTimer,并将其设置为100ms(这样只有在事件处理开始后,即app.execute()之后,它才会被处理)。然后,我将计时器事件连接到一个插槽函数,我称之为"getFocusOnMeNow()",其中我有:
this->activateWindow();
this->setFocus();
这是有效的。
所以现在我想整理一下。在MainWindow中,我可以调用什么函数/槽来获得焦点?我没有看到可以过载的MainWindow::start()插槽。。。?
尝试
app.setCursorVisible(false);
这对你有帮助吗?
相关文章:
- 结构和双指针隐藏在其他结构中,多层混淆
- 使用智能指针指向 C 库中的结构,该结构通过 typedef 隐藏实现(即不完整的类型)
- 如何在启动时在Qt应用程序中隐藏鼠标指针
- Wince 6.0如何在操作系统靴子后移动鼠标指针
- QTEXTEDIT:在鼠标指针下获取单词
- 使用指针(PIMPL IDIOM)隐藏实现
- 如何在启动时隐藏鼠标指针
- OpenGL - 旋转玩家位置以面对鼠标指针
- 使用 OpenCV 将鼠标指针悬停在图像上时在图像上打印像素坐标
- 在 MFC 中捕获鼠标指针形状更改事件
- 如何将光标(鼠标指针对象)转换为bmp图像的自动序列
- 更改方法以添加隐藏的this指针是否会破坏二进制兼容性
- 使用QStyledItemDelegate将鼠标悬停在文本上时,如何更改鼠标指针
- 通过内部指针隐藏实现详细信息
- 将原始鼠标/指针数据转换为有意义的内容
- 不可能在应用程序启动后立即使用ShowCursor(FALSE)隐藏鼠标光标
- 如何恢复我的鼠标指针时,它不可见的QWSSERVER::SetCursorVisible(false)
- 通过提供"proxy"指针隐藏原始指针
- 鼠标指针渲染器
- 有一个Quad跟随鼠标指针(没有Glut)