【发布时间】:2016-09-29 21:30:13
【问题描述】:
我在设计模式下使用 Qt Creator 3.3.1 创建了一个按钮,并通过设计器将按钮与信号按下()连接起来。它工作正常,但有时当我在按下事件中设置一个按钮来隐藏或显示或更改 stacketWidget 的索引时,信号按下()连续重复两次。我没有在代码中手动连接,但都是由设计人员自动完成的。我正在使用嵌入式 Qt 4.8.6。谢谢
void myclass::on_pushButton_1_pressed()
{
qDebug("Pressed event");
ui->pushButton_2->hide(); //if I comment this line the pressed signal is not repeated twice
}
【问题讨论】:
-
我可以想象
pressed信号有点特别。它在不同平台上的行为可能不同,因为它可能是底层操作系统的自发事件。例如。单击一个按钮,然后再次拖动,将发出两次(至少在 Windows 中)。尤其是在修改 UI 的时候,我可以很好地想象这是另外一次触发的。我想你在这里基本上不走运......但你真的需要pressed信号吗?clicked也不行吗?