如何使用Qt创建个性化的ContactList

时间:2010-06-27 14:02:58

标签: qt instant-messaging contact-list

我正在尝试找到为即时消息应用创建个性化联系人列表的最佳方式。

也许有树视图,但我不确定。

我需要一种方法来查看有联系人的群组。 联系人包含不同的信息和操作按钮,如“发送消息,查看信息,......”

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

1 个答案:

答案 0 :(得分:0)

在这里,我正在进行一项小小的研究。我继承了我的一个类QAbstractItemDelegate。

我重新实现了paint()和sizeHint()

用于绘制项目的paint()中的

(此处例如是一个按钮) 代码:

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(),我恢复了很好的鼠标点击,但无法确切知道用​​户点击的位置,因此无法知道它是按钮还是其他元素。

我问过我使用的方法。这个好吗?你能开导我吗?

等待您的回答/想法。谢谢。