QAction
配置に基づいてドロップダウンボタンを作成することに少し行き詰まっていQToolBar
ます。次のデータを含むXMLファイルがあります。
<cfg>
<fields>
<group name="First fields">
<field>filed1</field>
<field>filed2</field>
<field>filed3</field>
</group>
<group name="Second fields">
<field>filed4</field>
<field>filed5</field>
<field>filed6</field>
... etc ...
</group>
</fields>
<button name="MyButton1" />
<button name="MyButton2 />
... etc ...
</cfg>
注:フィールド グループがどのくらいになるかはわかりません。また、ボタンがどのくらいになるかもわかりません。
まず、次の xml ファイルを解析して、必要なデータを抽出します。
それぞれについてbutton
独自のものを作成QAction
し、既存のツールバーに追加します。
後で、QMenu
ボタンごとに作成し、QAction
グループとフィールドごとに s を入力します。QAction
for First fields
、field1
、field2
などがあります。次に
、それぞれbutton
にメソッドを使用setMenu
して、作成したメニューをそこに追加します。
アプリを起動すると、ドロップダウン メニューのあるツールバーにボタンが表示され、期待どおりに表示されます。
ここでの問題は、このボタンにいくつかの機能を追加する必要があることです。
ユーザーがそれらをチェックできるようにしたいと思います(私setCheckable
はすべてに使用しますQActions
)とチェックを外します。ユーザーがグループ名でアクションをチェックすると、このグループに関連するすべてのフィールドがチェックされます。
起動時にどれだけのボタンとフィールドがあるかわからないので、シグナルとスロットの操作が難しくなります。このフィールドからのシグナルが発行されたときに、 created のすべてのアドレスを格納
するために使用する必要があり、次に find メソッドを使用してそれを発行したアクションを探し、それらだけが必要なアクションを実行します。 QMap
QAction
問題は、私の目標を達成するためのより良い方法はありますか、それともこのアプローチを引き続き使用する必要があるかということです。