zoukankan      html  css  js  c++  java
  • 获取鼠标点击处的控件并获取其坐标(对控制控件和绘制控件都很实用)

    int mouse_x = QCursor::pos().x();//鼠标点击处横坐标
    int mouse_y = QCursor::pos().y();//鼠标点击处纵坐标
    
    
    QWidget *action = QApplication::widgetAt(mouse_x, mouse_y);//获取鼠标点击处的控件
    QPoint GlobalPoint(action->mapToGlobal(QPoint(0, 0)));//获取该控件在窗体中的坐标
    
    
    int x = GlobalPoint.x();//该控件在窗体中左上角横坐标
    int y = GlobalPoint.y();//该控件在窗体中左上角纵坐标
     

    QT 获取控件widget的屏幕坐标

     :
    方法一:
    /// 获取窗口控件的屏幕位置,类似于ClientToScreen
    QPoint GlobalPoint(widget->mapToGlobal(QPoint(0,0)));
    
    方法二:
    /// 获取窗口控件的屏幕位置
    static QPoint getPos(QWidget* widget)
    {
     if (NULL == widget)
     {
      return QPoint(-1,-1);
     }
     float px = 0;
     float py = 0;
     QWidget *parent = widget;
     QWidget *preParent= NULL;
     do
     {
      QPoint p = parent->pos();
      px += p.x();
      py += p.y();
      preParent = parent ;
      parentw = parent->parentWidget();
     
     } while (NULL != parent);
     QSize size = preParent->frameSize();
     QSize size2 = preParent->size();
     px = px + (size.width() - size2.width())/2;
     py = py + (size.height() - size2.height() - (size.width() - size2.width())/2);
     QPoint pr(px, py);
     return pr;
    }

    http://blog.csdn.net/mingxia_sui/article/details/7943169
  • 相关阅读:
    数据分析三剑客之pandas
    python神器 Jupyter Notbook
    数据分析三剑客之numpy
    MySQL之数据备份与还原
    爬虫之增量式爬虫
    文件相关命令(find,tree,tar)文件属性信息 date
    系统通配符号、系统正则符号,grep
    sed命令
    系统用户权限,系统权限位,用户相关命令
    根下目录及目录内详细文件
  • 原文地址:https://www.cnblogs.com/findumars/p/5553873.html
Copyright © 2011-2022 走看看