ここで私は私の小さな研究にいます。クラス QAbstractItemDelegate の 1 つを継承しました。
paint() と sizeHint() を再実装します
私のアイテムを描画するためのペイント()で(そしてここでは例えばボタン)コード:
QStyleOptionButton buttonStyle;
buttonStyle.rect = option.rect;
buttonStyle.features = QStyleOptionButton::AutoDefaultButton;
buttonStyle.text = "Salut!";
QApplication::style()->drawControl(QStyle::CE_PushButton,&buttonStyle,painter);
しかし、QAbstractItemDelegate: helpEvent () を再実装して、ボタンをクリックするアクションを取得する必要があります (マウスの位置を図面と比較し、ユーザーが何をクリックしたかを判断します)。
さらに、上で提案された解決策では、
QAbstractItemDelegate::helpEvent () はスロットです
ドキュメントを注意深く読んでも、この関数がいつ呼び出されたのか判断できません。何かに接続していますか?
また、editorEvent() を一瞥すると、マウス クリックはうまく回復しましたが、ユーザーがどこをクリックしたかを正確に知る方法がないため、それがボタンなのか他の要素なのかを知る方法はありません。
私も使用している方法について尋ねました。これでいいですか?あなたは私を啓発することができますか?
回答/アイデアを保留中です。ありがとうございました。