使用C++和QT,只在MainWindow.cpp中增加代码,完成一个在widget中点击鼠标返回坐标的功能
时间: 2024-02-01 11:15:21 浏览: 135
可以在MainWindow.cpp中的构造函数里面添加以下代码:
```c++
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
setCentralWidget(new QWidget(this)); // 设置中央窗口部件为一个QWidget
centralWidget()->setMouseTracking(true); // 启用鼠标跟踪,这样鼠标移动时也会触发事件
centralWidget()->setFixedSize(400, 300); // 设定中央窗口部件大小
connect(centralWidget(), &QWidget::mousePressEvent, this, &MainWindow::mousePressEvent); // 连接鼠标点击事件和自定义的槽函数
}
```
然后再在MainWindow类中添加以下槽函数:
```c++
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) { // 如果是左键点击
QPoint pos = event->pos(); // 获取鼠标点击位置
qDebug() << "X:" << pos.x() << ", Y:" << pos.y(); // 输出坐标信息
}
}
```
以上代码通过连接中央窗口部件的鼠标点击事件和自定义的槽函数,实现了在widget中点击鼠标返回坐标的功能。当鼠标左键点击时,会在控制台输出坐标信息。你可以根据自己的需求修改输出方式。
阅读全文