• QT学习之QT判断界面当前点击的按钮和当前鼠标坐标


    1.QObject::sender( ) 返回发送信号的对象的指针,返回类型为QObject* 。可使用qobject_cast动态类型转换成对应的发送信息的对象(对象类的基类中需要有QObject)。

    QObject::objectName( ) 返回对象的名称(QString)
    1. 1 QPushButton*btn = qobject_cast<QPushButton*>(sender());//获取发射信号的对象
      2 if("按钮对象名"==btn->objectName()){//如果获取到对象
      3 //...
      4 }

      2. QMouseEvent中两类坐标系统,一类是窗口坐标(相对坐标),一类是显示器坐标(全局坐标)

    1.  1 QPointQMouseEvent::globalPos();//窗口坐标,这个是返回鼠标的全局坐标
       2 QPointQCursor::pos()[static];//返回相对显示器的全局坐标
       3 QPointQMouseEvent::pos();//返回相对这个widget的位置
       4 QPointQWidget::pos();//这个属性获得的是当前目前控件在父窗口中的位置
       5 constQPointF&QMouseEvent::screenPos()const;//和QPoint QMouseEvent::globalPos() 值相同,但是类型更高精度的QPointF
       6 QPointQWidget::mapToGlobal(constQPoint& pos)const;//将窗口坐标转换成显示器坐标
       7 QPointQWidget::mapFromGlobal(constQPoint& pos)const;//将显示器坐标转换成窗口坐标
       8 QPointQWidget::mapToParent(constQPoint& pos)const;//将窗口坐标获得的pos转换成父类widget的坐标
       9 QPointQWidget::mapFromParent(constQPoint& pos)const;//将父类窗口坐标转换成当前窗口坐标
      10 QPointQWidget::mapTo(constQWidget* parent,constQPoint& pos)const;//将当前窗口坐标转换成指定parent坐标
      11 //也可使用:
      12 Qpoint pt=cursor().pos();//获取当前鼠标位置

       



  • 相关阅读:
    BZOJ1049 [HAOI2006]数字序列0
    UOJ265 【NOIP2016】愤怒的小鸟
    #include <deque>
    #include <queue>
    #include <vector>
    #include <set>
    #include <map>
    BZOJ1217:[HNOI2003]消防局的设立
    浅谈贪心
    CF1060B:Maximum Sum of Digits
  • 原文地址:https://www.cnblogs.com/lomper/p/4249575.html
Copyright © 2020-2023  润新知