我正面临 Qt 的奇怪行为(5.3.1 - 我不能使用更新的版本),在以编程方式创建odt文件时,我可以通过执行以下操作添加 href:
QTextDocument* l_doc = new QTextDocument();
QTextCursor l_cursor(l_doc);
QTextCharFormat l_tc_fmt;
l_tc_fmt.setAnchor(true);
l_tc_fmt.setAnchorHref("www.stackoverflow.com");
l_tc_fmt.setForeground(QApplication::palette().color(QPalette::Link));
l_tc_fmt.setFontUnderline(true);
l_cursor.setCharFormat(l_tc_fmt);
l_cursor.insertText("stackoverflow");
QTextDocumentWriter l_twd("/home/test.odt");
l_twd.setFormat("odf");
l_twd.write(l_doc);
这会产生一个包含可点击字符串的 odt 文档(适用于 openoffice 和 msoffice):
问题是这仅适用于 Linux 平台,而在 Windows 上,我得到相同的下划线蓝色字符串,但无法单击它(在 openoffice 和 msoffice 中都没有)。
将 QTextDocument 导出为 html,我能看到的唯一区别如下:
有人在 MS Windows 上遇到过同样的问题吗?