デザインモードでQt Creator 3.3.1でプッシュボタンを作成し、デザイナでボタンを信号押下()に接続しました。うまくいきますが、時には、押されたイベントにpushButtonを設定して、stacketWidgetのインデックスを表示または非表示にすると、pressed()というシグナルが連続して2回繰り返されます。コードに手動で接続する必要はありませんが、すべてがデザイナーによって自動的に実行されます。私はQt 4.8.6を使っています。ありがとうQtプッシュボタン押下信号の不要な二重実行
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
}
を解決するために、あなたのスロットの名前を変更するのどちらか。おそらく基盤となるOSの自発的なイベントであるため、異なるプラットフォームでは異なる動作をする可能性があります。例えば。ボタンをクリックすると、再び電源を入れ直すと、2回(Windowsでは少なくとも)それを出します。特にUIを変更するときに、これが別の時にトリガされると非常によく想像することができます。あなたは基本的にここから運が良かったと思います...しかし、本当に「押された」信号が必要ですか? 「クリックした」作業もできませんか? –