我有一个QT应用程序,目前已经添加了一个新的QPushButton。我已将按钮正确地连接到:
QObject::connect(ui->myButton, SIGNAL(clicked()), this, SLOT(SendResetEchoRequest()));大多数情况下,当我单击它调用函数时,它是工作的。但有时它不注册我的点击。有时,我需要最多5-10次点击,使函数触发一次,我不知道为什么。
为了确保这是Button / Click的一个问题,我尝试使用这个函数进行按键,如下所示:
if(GetAsyncKeyState(VK_UP)){
SendResetEchoRequest();
}这100%的工作非常好。当我按下我的向上键时,它会触发函数。
有人知道为什么有时它不注册我的点击吗?
发布于 2016-05-19 10:54:22
我不知道这会否有帮助,我想建议一个快速的练习,以审查。
您可以连接到按下和释放的信号,在插槽例程中,尝试将按钮文本设置为"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"); }这样,当您看到偶尔出现的问题时,您可以检查QAbstractButton或QPushButton类是否发出任何信号。这只是我的想法,调试正在发生的事情,可能不是解决您的问题。
https://stackoverflow.com/questions/37316169
复制相似问题