最近有个需求:在业务开始时,线程自动向每个按钮发送clicked()信号,按钮接收到该信号后,执行该信号,从而模拟人单击按钮,但整个过程按钮不能接收键盘鼠标事件,防止人干扰线程自动模拟按钮的执行。首先想到的是调用按钮的setEnable(false)函数,这样确实可以使按钮不接收键盘鼠标消息了,但按钮也不响应 clicked()信号了,正确的做法是利用如下代码:
pBtn->setAttribute(Qt::WA_TransparentForMouseEvents, true);
pBtn->setFocusPolicy( Qt::NoFocus);
本文介绍了一种在不接收键盘鼠标事件的情况下使按钮响应clicked()信号的方法,通过设置按钮属性实现线程自动模拟点击。
2499

被折叠的 条评论
为什么被折叠?



