gpt4 book ai didi

linux - 在 linux 中生成鼠标按钮单击

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:53 25 4
gpt4 key购买 nike

我正在尝试生成鼠标点击。我的应用程序需要它,它必须模拟鼠标点击。

QMouseEvent *klik = new QMouseEvent(QEvent::MouseButtonPress, QCursor::pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QCoreApplication::postEvent(this, klik);
QMouseEvent* klik2 = new QMouseEvent(QEvent::MouseButtonRelease, QCursor::pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QCoreApplication::postEvent(this, klik2);

但它不起作用。它必须在 linux 上工作,我找到了很多适用于 windows 的示例,但是任何适用于 linux 的示例都不起作用:(

抱歉我的英语不好

[编辑]

我对 QTest 没有什么问题。这是编译器的屏幕截图 errors

最佳答案

也许你可以使用QTest::mouseClick根据文档模拟鼠标点击。

例如在我的 MainWindow 的构造函数中:

button = new QPushButton("testPushButton", this);
connect(button, SIGNAL(clicked()), this, SLOT(clickedButton()));
QTest::mouseClick(button, Qt::LeftButton);

正如 yankee2905 所说,您必须将 teSTLib 添加到您的 .pro 文件中。

此外,我尝试使用您的代码,当我更改点击的位置和接收者时,它的工作方式与 teSTLib 相同。

QMouseEvent *klik = new QMouseEvent(QEvent::MouseButtonPress, button->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QCoreApplication::postEvent(button, klik);
QMouseEvent* klik2 = new QMouseEvent(QEvent::MouseButtonRelease, button->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QCoreApplication::postEvent(button, klik2);

关于linux - 在 linux 中生成鼠标按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17470396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com