QT中鼠标左键按下怎么判断在哪个编辑框里

QT中鼠标左键按下如何判断在哪个编辑框里
本帖最后由 gkljx 于 2013-09-08 16:14:16 编辑
想实现一个类似触摸按键的功能,有四个编辑框,首先选中一个编辑框,然后再去按按键,可以在编辑框里显示按下按键的内容。。
QT中鼠标左键按下怎么判断在哪个编辑框里
qt

------解决方案--------------------
定义标记变量FLAG,1,2,3,4代表四个编辑框,点击相应编辑框就让FALG等于几,点击按钮时就根据FLAG来发送


------解决方案--------------------
Qt更容易,只要在界面的这个类里,ui->xxx就能找到对应的控件(UI编辑器里记住控件名字)
------解决方案--------------------
QWidget * QApplication::widgetAt(const QPoint & point) [static]
Returns the widget at global screen position point, or 0 if there is no Qt widget there.

This function can be slow.

See also QCursor::pos(), QWidget::grabMouse(), and QWidget::grabKeyboard().


------解决方案--------------------
可能是你对Qt的事件处理级别不太了解,简单点可以在qApp上安装个eventFilter,在里面处理鼠标点击事件然后判断点击的是哪一个widget
------解决方案--------------------
你可以继承这个编辑框的类,在继承的类中添加一个信号,就是当这个编辑框有焦点时或则焦点变化时发送信号,信号的参数就是这个编辑框的ID,而你UI上画的编辑框就用这个类定义,然后在MainWindow中将这个信号和你的槽函数连接起来从而记录编辑框的ID,有这个ID了,之后的编辑就简单多了,我就是这么搞的,可以成功
------解决方案--------------------
在编辑框里弄个bool值的变量,有变化了就调用鼠标事件。这样子应该好理解一点。