8

QMenuカスタムメニューを作成するためにQtにレイアウトまたはウィジェットを追加する方法はありますか?

下の例 (左) は私が持っているもので、メニュー以外のウィジェットを追加して、右のモックアップに似たものを目指したいと考えています。で実行できない場合QMenu、同様の結果を生成するためのガイドがどこかにありますか (おそらく、より標準的なウィジェットをコンテキスト メニューとして機能させることによって)?

カスタム QMenu

4

3 に答える 3

8

確かにあります!Qt では、aa があれば方法があります。

QMenuおそらく、 member を使用して使用する独自のクラスを作成する必要がありますQListWidget

QLayout次に、レイアウトを生成し、サイズの再計算のためにすべての正しい関数をオーバーロードする必要があります。

そして、このレイアウト ( と考えてください) を使用して、 aと a のQHBoxLayout両方を並べて表示する必要があります。QMenuQListWidget

それはあなたを正しい方向に向けるのに十分なはずです.

編集:

コメンターが指摘したように、2 つのQObjectことを継承することはできないため、それに応じて回答を更新しました。

于 2013-09-13T13:33:46.663 に答える
0

メニュー項目をカスタマイズするには、QWidgetActionクラスを使用できます。しかし、ポップアップ ウィジェットのようにメニューをカスタマイズしたいとします。したがって、サブクラスQMenu化して、必要に応じてメニューのレイアウトを改善することができます ( QMenuis QWidget)。あなたの質問は明確ではありません。

于 2013-09-13T14:16:58.773 に答える