需要聊天窗口的HTML视图

时间:2012-08-03 18:49:57

标签: qt

我的Qt项目需要一个类似于Skype的聊天窗口。即,聊天历史窗口,而不是用户输入其文本的位置。我想过使用某种HTML视图以编程方式添加来自聊天方的聊天文本。

一些要求:

  1. 它必须很好地格式化,支持CSS我可以应用它..
  2. 我必须有滚动控制 - 例如当新的聊天行进入时,自动滚动到聊天结束,即使我当前由于某种原因向上滚动。
  3. 它必须允许完整的鼠标副本,就像Skype一样。
  4. QWebView会做滚刀吗?我没有看到滚动控件API,或者能够“追加”新的文本行。每次新线路出现时,我是否必须使用“setHTML”重新创建和重新提交HTML?

    任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

您可能需要考虑使用QTextEditQTextBrowser。这两个小部件都支持HTML(尽管可能有些限制)。这些小部件允许您逐行追加HTML。它们还继承自QAbstractScrollArea,它允许您访问其滚动条。我不确定他们是否会支持CSS,但他们确实支持Qt's style sheets,如果你不能让CSS工作,这可能对你有用。它们还提供开箱即用的复制,剪切,粘贴,撤消和重做(尽管您可能希望根据您的情况对其进行自定义)。