アプリケーションの設定メニューボックスを作成しようとしており、QDialogボックスを使用してユーザーが変更できるオプションを表示しています。このボックスにはQComboBoxesとQLineEditsが含まれていますが、その多くは7つのコンボボックスと12行の編集です。下部に「Apply Changes」と呼ばれるQPushButtonがあり、ボックス内のプロパティが変更された場合にのみ有効になります。ダイアログボックスのウィジェットのいずれかが信号を発したときにスロットを呼び出すことはできますか?
個々のボタンを個別に有効にするために、各ウィジェットのすべての信号をスロットにリンクする必要がありますか、構成ウィジェットに変更があったときにQDialogボックス自体が出力する信号がありますか?これらの接続の17行以上続く
connect(Combo1,SIGNAL(activated(QString)),this,SLOT(fnEnable(QString)));
connect(Combo2,SIGNAL(activated(QString)),this,SLOT(fnEnable(QString)))
:
は、今のところ私はこれを持っています。私がいることを知っている
(私はdocumentationでものを見つけることができませんでした)(私は前に述べたように)多分、QDialogによって放出される信号を、これを行うための簡単な方法があった場合、私は思っていた
void MyClass::fnEnable(QString)
{
ApplyButton->setEnabled(true); //It is initialised as false
}
必要な接続だけが呼び出されるため、プログラムのスピードアップはしませんが、より意欲的なダイアログボックスを簡単にするためのさらなる試みが行われます。
実はそこには、このような信号がありませんが、一つのアプローチはQComboBoxのリストを作成し、作ることですforとの接続は、例えば: 'QList <*QCombobox> l; l << combobox1 << combobox2 << ....; QLineEdit – eyllanesc