热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

想实现一个类似触摸按键的功能,有四个编辑框,首先选中一个编辑框,然后再去按按键,可以在编辑框里显示按下按键的内容。。
想实现一个类似触摸按键的功能,有四个编辑框,首先选中一个编辑框,然后再去按按键,可以在编辑框里显示按下按键的内容。。

13 个解决方案

#1


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

#2


引用 1 楼 lhfslhfs 的回复:
定义标记变量FLAG,1,2,3,4代表四个编辑框,点击相应编辑框就让FALG等于几,点击按钮时就根据FLAG来发送
这个我可以想到,问题是,我怎么判断我现点的是这个编辑框而不是另一个。。

#3


每次点击,把FLAG push进一个 vector变量里面,怎么样

#4


引用 3 楼 lhfslhfs 的回复:
每次点击,把FLAG push进一个 vector变量里面,怎么样
想知道怎么确定点了几号编辑框?鼠标左键按下的事件我可以捕捉到,但是后面在哪个控件上我就没有办法确定了。。如果是MFC有GetDlgItem(IDC_EDIT2)->GetSafeHwnd()获得控件是什么。QT下有没有这种函数呢?我刚开始学QT,所以有点小白。。

#5


Qt更容易,只要在界面的这个类里,ui->xxx就能找到对应的控件(UI编辑器里记住控件名字)

#6


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().

#7


引用 5 楼 jdwx1 的回复:
Qt更容易,只要在界面的这个类里,ui->xxx就能找到对应的控件(UI编辑器里记住控件名字)

这个我知道啊。。但是现在是如何判断我点的就是这个控件,就比如我鼠标按下去了,按得时什么呢?在哪里添加消息处理?

#8


引用 6 楼 Inhibitory 的回复:
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().

我尝试过用监控鼠标左键,但是当鼠标点到控件上面的时候没有捕获到信息,不知道是怎么回事。。我用的是Dialog的窗口。。

#9


可能是你对Qt的事件处理级别不太了解,简单点可以在qApp上安装个eventFilter,在里面处理鼠标点击事件然后判断点击的是哪一个widget

#10


引用 9 楼 Inhibitory 的回复:
可能是你对Qt的事件处理级别不太了解,简单点可以在qApp上安装个eventFilter,在里面处理鼠标点击事件然后判断点击的是哪一个widget
恩,确实不是特别理解,才开始接触QT三天,一些消息机制还没有领悟,望详解啊。。

#11


你可以继承这个编辑框的类,在继承的类中添加一个信号,就是当这个编辑框有焦点时或则焦点变化时发送信号,信号的参数就是这个编辑框的ID,而你UI上画的编辑框就用这个类定义,然后在MainWindow中将这个信号和你的槽函数连接起来从而记录编辑框的ID,有这个ID了,之后的编辑就简单多了,我就是这么搞的,可以成功

#12


在编辑框里弄个bool值的变量,有变化了就调用鼠标事件。这样子应该好理解一点。

#13


http://wenku.baidu.com/view/afe8f85aad02de80d4d840a9.html
在这个文档里可以很好地解决

推荐阅读
author-avatar
别想着摆脱_525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有