Qt - 按钮点击并不总是有效

Qt - Pushbutton click not always working

我有一个 QT 应用程序,目前已经添加了一个新的 QPushButton。 我已正确连接按钮:

QObject::connect(ui->myButton, SIGNAL(clicked()), this, SLOT(SendResetEchoRequest()));

大多数情况下,当我单击它时它会调用该函数。但有时它不会记录我的点击。有时我需要多达 5-10 次点击才能使该功能触发一次,我不知道为什么。

为了确定这是 Button / Click 的问题,我试过像这样使用 UP 键上的功能:

if(GetAsyncKeyState(VK_UP)){
    SendResetEchoRequest();
}

这 100% 完美无缺。当我按下向上键时,它会触发该功能。

有人知道为什么有时它不记录我的点击吗?

我不确定它是否有帮助,我想建议一个快速练习来检查。

您可以连接到按下和释放的信号,并在插槽例程中尝试将按钮文本设置为 "Pressed" 并且在按钮释放时它应该返回到 "<your button text>"

QObject::connect(ui->myButton, SIGNAL(pressed()), this, SLOT(setbuttonPressed()));
QObject::connect(ui->myButton, SIGNAL(released()), this, SLOT(setbuttonReleased()));

setbuttonPressed() {
ui->myButton->setText("Pressed"); }

setbuttonReleased() {
ui->myButton->setText("My Button"); }

这样,当您看到偶尔出现的问题时,您可以检查 QAbstractButtonQPushButton class 是否发出任何信号。这只是我调试正在发生的事情的想法,可能无法解决您的问题。