1

インスタント メッセージング アプリ用のパーソナライズされた連絡先リストを作成する最善の方法を見つけようとしています。

たぶんツリービューですが、よくわかりません。

連絡先が含まれるグループを表示する方法が必要です。連絡先には、「メッセージを送信する、情報を表示する、...」などのさまざまな情報とアクション ボタンが含まれています。

例 @ http://ycorpblog.com/wp-content/uploads/2007/10/yahoo-messenger-90-action-toolbar.jpg

4

1 に答える 1

0

ここで私は私の小さな研究にいます。クラス 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() を一瞥すると、マウス クリックはうまく回復しましたが、ユーザーがどこをクリックしたかを正確に知る方法がないため、それがボタンなのか他の要素なのかを知る方法はありません。

私も使用している方法について尋ねました。これでいいですか?あなたは私を啓発することができますか?

回答/アイデアを保留中です。ありがとうございました。

于 2010-07-01T14:27:22.227 に答える