でチェック。クリックすると、これらのボタンを使用して、3つの選択肢(理想的には小さなドロップダウンメニュー)を選択できるようになります。彼らが3つの選択肢のうちの1つを選択すると、そのボタンを選択したい(すなわち、押されたままにしておきたい)。 3つの選択肢のそれぞれに関連するQActionをクリックして、どのボタンがクリックされたかを知ることができ、グリッド内のどのボタンがクリックされたかを記録することができます。グリッド内の各ボタンは排他的でなければならず、選択されていれば必要です。表示される3つの選択肢は、すべてのボタンで同じです。は、私は、ボタンのグリッドを持つウィジェットを設計していますQMenu
私が最初にQGridLayoutにQButtonGroupとQPushButtonsを始めています。私が望むようにボタンを排他的にすることができました。私はQToolButtonへのQPushButtonからボタンを変更し、ドロップダウンメニューを追加する場合、二つのことが起こった:
- を、彼らは、メニューから項目を選択すると、私はそれがしたいように、ボタンが押さ滞在していません。
- 私が選択したボタンについて通知されるメニューのアクションのための道を見るように見えることはできませんので、私は選択されたボタンログインすることができません。
私は私が探しています機能を実現することができる方法上の任意の考え?
EDIT:
少ない清澄点:
- 各ボタンM×nのグリッド内の人物を表します。
- 各ボタンのドロップダウンリストでは、その人が現在行っている操作を選択できます。
- 一度に1人しか何かを行うことはできません。したがって、一度にグリッド全体の中の1つのボタンだけを押すことができます。
- ボタンドロップダウンメニューの項目が選択されたときにチェックされ、これらの項目は排他的である必要があるため、ボタンを2回クリックすると、ドロップダウンメニューの新しいチェックメニュー項目は1。ボタンでアイテムがドロップダウンメニューを選択した場合は
- 、メニューが離れて行く必要があり、ボタンが押さ表示されます。
- Iがクリックされたボタン(即ち、行および列)、並びにダウンメニューボタン、ドロップから選択された選択肢を記録する必要があります。だから何とかメニュー項目の信号/スロットは、どのボタンがクリックされたかを知る必要があります。しかし、QToolButton :: setMenu()はMenuの所有権をQToolButtonに転送しないので、どのボタンを選択したかをQMenuのQActionsで認識するための信号/スロットをどのようにするかはわかりません。