美文网首页
QT:状态栏中显示鼠标坐标值

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

作者: 擎烛而走_b2ce | 来源:发表于2018-06-02 10:31 被阅读0次

    如何在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就可以实现鼠标移动即追踪位置。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/lkzlsftx.html