我有一个Qt应用程序(服务器),它从另一个Qt应用程序通过本地网络接收鼠标位置和状态(鼠标按下,释放或鼠标移动).我正确地读取鼠标状态和位置,但我无法在服务器应用程序中生成假消息来模拟鼠标移动,鼠标按下事件.
服务器具有QGraphicsView中的所有逻辑来处理鼠标移动等,当它从服务器机器上的鼠标输入时,一切都按预期工作.
但是一旦我尝试通过读取从其他应用程序发送的鼠标位置和状态来生成虚假的鼠标事件,它就不起作用.
令人惊讶的是,如果我创建假事件并将其传递到场景,如下所示,它会生成mouseMoveEvents但我想为QGraphicsView执行此操作,因为它具有在服务器应用程序中处理鼠标的逻辑.
这有效:
QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress);
pressEvent.setScenePos(QPointF(100, 100));
pressEvent.setButton(Qt::LeftButton);
pressEvent.setButtons(Qt::LeftButton);
QApplication::sendEvent(pGraphicsScene, &pressEvent);
Run Code Online (Sandbox Code Playgroud)
这不起作用:
QMouseEvent eve( (QEvent::MouseMove), QPoint(100,100),
Qt::NoButton,
Qt::NoButton,
Qt::NoModifier );
qApp->sendEvent(this , &eve);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我理解为什么我不能为GraphicsView生成假事件,以及如何做到这一点.
谢谢
我正在尝试在 slack 上构建一个呼叫应用程序,该应用程序调用计算机上安装的 voip 应用程序。因此,当 Slack 应用程序收到带有数字的特定命令时,它应该调用此桌面应用程序并允许用户拨打电话。
我已授予 slack 应用程序调用:读取调用:写入权限,但是当我将一条消息从服务发布回 slack 上的 response_url 时,我在 slack 上收到 500 错误。
slack_message = {
"response_type": "Call",
"call_initiation_url": "https://example.com",
"desktop_protocol_call_initiation_url": "sip:+15551231234?action=call"
}
header = {'Content-Type': 'application/json'}
response = requests.post(response_url, headers=header, data=json.dumps(slack_message))
Run Code Online (Sandbox Code Playgroud)
Slack 显示 500 错误。
然而,当我回发一条简单的消息时,回发到response_url是有效的,如下所示,并且我在slack上看到它。
slack_message2 = {
"response_type": "in_channel",
"text": "It's 80 degrees right now."
}
Run Code Online (Sandbox Code Playgroud)
可以帮助理解出了什么问题吗?我被困在这里了。