1.QObject::sender( ) 返回發送信號的對象的指針,返回類型為QObject* 。可使用qobject_cast動態類型轉換成對應的發送信息的對象(對象類的基類中需要有QObject)。
QObject::objectName( ) 返回對象的名稱(QString)
-
1 QPushButton*btn = qobject_cast<QPushButton*>(sender());//獲取發射信號的對象 2 if("按鈕對象名"==btn->objectName()){//如果獲取到對象 3 //... 4 }
2. QMouseEvent中兩類坐標系統,一類是窗口坐標(相對坐標),一類是顯示器坐標(全局坐標)。
-
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();//獲取當前鼠標位置