QT:状态栏中显示鼠标坐标值

如何在QT状态栏中插入窗口显示信息

  • 新建QLabel成员 QLabel* m_statusLabel
//右下角状态栏显示坐标用
    m_statusLabel = new QLabel;
    m_statusLabel->resize(100, 30);
    ui.statusBar->addPermanentWidget(m_statusLabel);
  • addPermanentWidget(m_statusLabel);
    代表在状态栏右下角插入QLabel控件

  • 重写鼠标移动事件


void mouseMoveEvent(QMouseEvent * event)
{
    double x = event->pos().x();
    double y = event->pos().y();
    QString str = "(" + QString::number(x) + "," + QString::number(y) + ")";
    m_statusLabel->setText(str);
}

获取坐标值后,将m_statusLabel的内容设置为坐标值。

利用以上程序实现后,用户需要点击屏幕才可以获取坐标值,这是因为QWidget中mouseTracking默认是false的,即当用户点击鼠标一次后,才开始追踪鼠标位置,如果将该值置为true就可以实现鼠标移动即追踪位置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容