2011-06-26 9 views
1

「開始」という名前のボタンがあり、クリックすると長時間の操作が開始され、「停止」という名前のボタンに変更します。クリックしたときの動作も同様に変化します。ボタンのテキストを変更し、 'clicked()'シグナルを別のスロットに再接続するか、2つのボタンを押してから「開始」を隠して「停止」を表示することで、これを実装する最良の方法は何ですか?実行時にQtでダイアログボタンのテキストを変更する

答えて

1

両方のオプションが機能します。簡単な3つ目の方法は、ボタンのテキストを変更することです(アイコンを変更することも良い考えです)、 "状態"(再生/再生しない)をどこかに保存します。接続されたスロットでは、現在の状態に応じて右の操作を行います。 (そうすれば、何かを再接続する必要はありません)。

別のオプションは、setCheckable(true)が設定されたプッシュボタンを使用することです。このように、ボタンはトグルボタンのように機能します(最初のクリック時に押されたままになり、2回目のクリックで後退します)。

これを使用する場合は、clicked()信号ではなく、toggled(bool)信号を使用する必要があります。 slot引数は、ボタンがアクティブかどうかを示します。 (isChecked()で照会することもできます)

関連する問題