0

我正面临 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,我能看到的唯一区别如下:

  • 视窗 在此处输入图像描述
  • Linux 在此处输入图像描述

有人在 MS Windows 上遇到过同样的问题吗?

4

0 回答 0