QWebView中的Tab键行为

时间:2012-12-13 07:41:31

标签: qt webkit qwebview

我使用Qt's implementationWebKit来创建富文本编辑器。这个简单的页面:

<html>
    <head>
    </head>
    <body style="white-space:pre" contenteditable="true">
        test text
    </body>
</html>

在Firefox(17.0.1)或Chrome(23.0.1271.95)中加载时,行为符合预期(按Tab键会改变焦点,但粘贴制表符会插入制表符,将其后面的内容与下一个制表位对齐 - 不是作为单一空间对待)。请注意,Chrome基于WebKit。

在QWebView中加载的相同页面具有以下正文样式:

 word-wrap: break-word;
 -webkit-nbsp-mode: space;
 -webkit-line-break:
 after-white-space;
 white-space: pre; 

(根据内置检查员)。

当按下tab片段后插入片段:

<span class="Apple-tab-span" style="white-space:pre"> </span>

并呈现一个简单的空间。

粘贴制表符时,会添加一个简单的空格(上面没有span标记)。

通过使用toHtml()方法保存html,我可以看到字符是制表符。所以问题是如何说服QWebView“正确”渲染选项卡(将其后面的内容与下一个制表位对齐)。

Qt版本是4.8.3(实际上是在几个月前从主干中构建的)。

0 个答案:

没有答案