3

データを表示するために QTableWidget を使用しています。addAction メソッドを使用してコンテキスト メニューを追加できることはわかっています。コンテキスト メニューを特定のセルまたは列のみに制限するにはどうすればよいですか? QActionGroup QGraphicsWidget QMenu QMenuBar QToolBar QWidget に対して addAction が存在します。信号/スロットを無効/有効にするために何らかの方法でフィルタリングする必要がありますか? 右クリック イベントを処理しますか?

同様の質問は、行ごとに異なるコンテキスト メニューを取得する方法です。

ありがとう、乾杯、マティアス

4

1 に答える 1

4

カスタム コンテキスト メニューを作成するもう 1 つの方法は、QWidget::customContextMenuRequested()シグナルにスロットを実装することです。そこで、位置の下のセルを照会し ( QTableWidget::itemAt()- グローバル->ウィジェット マッピングに注意してください!)、 と を使用してカスタム メニューを作成できQMenuますQAction

また、事前にメニューを作成し、それをスロットで exec() するだけです。

QWidget::ContextMenuPolicyウィジェットのプロパティをQt::CustomContextMenu!に変更する必要があることに注意してください。

于 2011-05-23T09:19:11.847 に答える