c++ - 在 Qt 中跟踪鼠标坐标

标签 c++ qt widget mouseevent mouse-coordinates

假设我在主窗口中有一个小部件,并且只想跟踪小部件上的鼠标位置:这意味着小部件的左下角必须是本地 (0, 0)。

问:我该怎么做?

附注以下函数的 NON 可以做到这一点。

widget->mapFromGlobal(QCursor::pos()).x();
QCursor::pos()).x();
event->x();

最佳答案

恐怕您对“左下角必须是 (0,0)”的要求不满意。在 Qt 坐标系中,(0,0) 位于左上角。如果你能接受的话。以下代码...

setMouseTracking(true); // E.g. set in your constructor of your widget.

// Implement in your widget
void MainWindow::mouseMoveEvent(QMouseEvent *event){
    qDebug() << event->pos();
}

...将为您提供鼠标指针在小部件中的坐标。

关于c++ - 在 Qt 中跟踪鼠标坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551387/

相关文章:

macos - 无法 brew 链接qt

Django : Use widget to limit choices in a ModelForm

c++ - 使用 c(++) 扩展时的 @staticmethod

c++ - 是否有一个库在 C++ 中提供(定向)超图实现?

python - 在pyQt的textEdit中打开文本文件

c# - Windows 窗体列表框中的平滑滚动

android - 有没有一种简单的方法可以删除应用小部件中的文本?

C++ Borland Builder 6 SQL 查询

c++ - 为什么系统在没有警告的情况下接受 long int 作为 int 参数传递?

c++ - LNK2019 与 Qt 和 Gmock