Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 需要聊天窗口的HTML视图吗_Qt - Fatal编程技术网

Qt 需要聊天窗口的HTML视图吗

Qt 需要聊天窗口的HTML视图吗,qt,Qt,我的Qt项目需要一个类似Skype的聊天窗口。即,聊天历史窗口,而不是用户输入文本的位置。我考虑过使用某种HTML视图,在聊天室中输入聊天文本时,以编程方式添加聊天文本 一些要求: 它必须被很好地格式化,支持CSS我可以应用到它 我必须有滚动控制-例如,当新的聊天行出现时,自动滚动至聊天结束,即使我当前由于某种原因被滚动 它必须允许完整的鼠标复制,就像skype一样 QWebView会做这个工作吗?我没有看到滚动控件API,也没有看到能够“附加”新的文本行。每次有新行通过时,我是否必须使用“se

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

一些要求:

  • 它必须被很好地格式化,支持CSS我可以应用到它
  • 我必须有滚动控制-例如,当新的聊天行出现时,自动滚动至聊天结束,即使我当前由于某种原因被滚动
  • 它必须允许完整的鼠标复制,就像skype一样 QWebView会做这个工作吗?我没有看到滚动控件API,也没有看到能够“附加”新的文本行。每次有新行通过时,我是否必须使用“setHTML”重新创建和提交HTML


    任何建议都会被赞赏。

    你可能想考虑使用OR或。这两个小部件都支持HTML(尽管可能有一些限制)。这些小部件将允许您逐行追加HTML。它们还从QabStretchScrollArea继承,QabStretchScrollArea为您提供对其滚动条的访问。我不确定他们是否会支持CSS,但他们确实支持,如果你不能让CSS正常工作,这可能是你的一个选择。它们还提供了框外复制、剪切、粘贴、撤消和重做(虽然您可能希望为您的情况自定义这一点)。这两个小部件都支持HTML(尽管可能有一些限制)。这些小部件将允许您逐行追加HTML。它们还从QabStretchScrollArea继承,QabStretchScrollArea为您提供对其滚动条的访问。我不确定他们是否会支持CSS,但他们确实支持,如果你不能让CSS正常工作,这可能是你的一个选择。它们还提供开箱即用的拷贝、剪切、粘贴、撤消和重做(尽管您可能需要为您的案例定制)