我有一个MainWindow.在MainWindow我有多个Qlabel.现在,我需要找到QLabel点击.使用MousePressEvent,我可以点击鼠标的X()和Y()位置.
我怎样才能使用这个坐标来识别QLabel?
在QT中是否有任何函数可以找到使用X()和Y()坐标单击的对象?
Ahm*_*taq 12
由于QLabel是QWidget的子类,因此您可以在QLabel :: mousePressEvent中处理鼠标按下事件
virtual void mousePressEvent ( QMouseEvent * ev )
Run Code Online (Sandbox Code Playgroud)
但在QMainWindow中,您可以使用childAt来获取x,y的子窗口小部件
QWidget * QWidget::childAt ( int x, int y ) const
QLabel* label= static_cast<QLabel*>(mainWindow->childAt(x,y));
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请访问:http: //doc.qt.io/qt-5/qwidget.html#childAt
| 归档时间: |
|
| 查看次数: |
10182 次 |
| 最近记录: |