3

私は2つのラジオボタンを持っています。それらのいずれかをクリックすると、一部のウィジェットが無効になり、他のウィジェットがアクティブになります。そのためにはどうすればよいですか?

たとえばradioButton1、チェックするとすぐに lineEdit が無効になり、チェックradioButton2すると最初の行の編集が有効になり、lineEdit2 が無効になります。

これらすべてがリアルタイムで行われます。

4

1 に答える 1

6

現時点で多くのことを行う必要はありませんが、一般的な答えは次のとおりです。

ラジオ ボタンの適切なシグナルを処理します。このシグナルを使用すると、 を使用してウィジェットを無効に設定するメソッド/ループをトリガーできますsetEnabled(false)

状況を考えると、受信したシグナルに応じて呼び出す次の 2 つのメソッドに似たものを持つことができます。

void OnRadioButton1()
{
    lineEdit->setEnabled(false);
    lineEdit2->setEnabled(true);
}

void OnRadioButton2()
{
    lineEdit->setEnabled(true);
    lineEdit2->setEnabled(false);
}

それは本当にかなり簡単です。この「リアルタイム」の概念全体がどこで機能するのかわかりません。これは、単一の入力「イベント」に対する単一の応答です。

もちろん、これは特定の (ブール値の) 引数などを持つ単一のメソッドでもかまいません。しかし、ここで実際のコードを必ずしも反映していない架空の例について説明していることを考えると、これは少なくとも少しのアイデアを提供するはずです。

于 2012-09-02T15:07:38.083 に答える