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

时间:2016-05-19 07:06:21

标签: c++ qt button click qpushbutton

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

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

大多数时候,当我点击它时,它正在工作。但有时它没有注册我的点击。有时我需要多达5-10次点击才能使该功能触发一次,我不知道为什么。

为了确保这是按钮/点击的问题,我尝试使用按键UP上的功能,如下所示:

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

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

有人知道为什么有时它没有注册我的点击?

1 个答案:

答案 0 :(得分:1)

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

您可以连接到按下和释放的信号,并在插槽例程中尝试将按钮文本设置为"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类是否发出任何信号。这只是我想要调试正在发生的事情,可能不是你问题的解决方案。