2

Qt。フォームがあります。他のウィジェット、ボタン、ライン編集などを含む 2 つのウィジェットがあります。ユーザーがフォーカスを設定するとき、マウスでクリックするとき、または含まれている最初のウィジェットまたは要素で何かを行うときに、変数を 0 に設定する必要があります。 . 彼が 2 番目のウィジェットで同じことを行う場合、変数を 1 に設定する必要があります。

4

2 に答える 2

6

QApplication::focusWidget()現在フォーカスがあるウィジェットへのポインターを返します。また、QApplication::focusChanged(QWidget *old, QWidget *now)信号があり、スロットに接続して変数を変更できます。

于 2012-10-18T14:22:57.380 に答える
0

独自のスロットとシグナルを使用して、ウィジェットをいつでも再定義/(継承によってサブクラスを作成)できます。

私があなたの要件を理解できる限り、あなたはそうすることができます。

QObject :: connect(wid1、SIGNAL(clicked())、yourvariableclass、SLOT(setMyVariable_wid1())); QObject :: connect(wid2、SIGNAL(clicked())、yourvariableclass、SLOT(setMyVariable_wid2()));

私の答えがあなたの質問に合わない場合は、問題をもう少し説明してください。私はそれであなたを助けることができます。:)

于 2012-10-18T13:08:41.363 に答える