0

さまざまなコマンド タイプのリストを保持するコンボボックスがあります。コンボボックスで選択したコマンドに応じて、GUI に表示される入力フィールドを変更したいと考えています。私は Qt に非常に慣れていません。誰かがこれを実装するための正しい方向に私を向けることができれば幸いです。

私の現在のアイデアは、信号を発する「選択」ボタンを用意することであり、接続されたスロットはコンボボックスの現在のインデックスを取得します。QFrame を保持するカスタム クラスを実装する必要があると思います。カスタム クラスは、どのデータ入力 (選択したコマンドの) を QFrame に表示する必要があるかを示すスロットを保持します。

IE、コンボボックスで COMMAND_1 が選択されている場合、3 つの入力フィールドが QFrame に表示されます。COMMAND_2 が選択されている場合、QFrame に一対のラジオ ボタンが表示され、これら 3 つの入力フィールドが非表示または割り当て解除されます。

これは、この問題を解決しようとする良い方法ですか?

4

1 に答える 1

5

あなたはそれについて正しい方法で進んでいます。しかし、Qt を使用すると、実際には、あなたが考えているよりもさらに簡単になります。

QComboBoxQStackedWidgetの 2 つの組み込みウィジェットを使用できます。コンボ ボックスには慣れています。積み重ねられたウィジェットは、一度に 1 つのみ表示されるウィジェットのセットです。これは基本的に、タブを除いたタブ付きウィジェットです。

スタック ウィジェットを設定して、コンボ ボックスに最初のオプションが表示されているときに最初のウィジェットを表示し、2 番目のオプションを 2 番目のウィジェットに表示するようにします。次に、組み込みシグナルを組み込みスロットに接続できます: QComboBox::currentIndexChanged(int)からQStackedWidget::setCurrentIndex(int)

それが役立つことを願っています!

于 2013-02-13T22:04:35.910 に答える