8

我需要一个用于 Qt 的富文本编辑器。我一直在考虑使用 QTextEdit,因为它是富文本编辑,但我需要该小部件中不存在的两件事:

  • 用户应该能够更改文本颜色、文本字体、下划线、粗体、斜体文本,所以我需要一个带有这些控件的文本编辑器工具栏(我需要自己编码吗?)

  • 用户应该能够通过搜索图像来拖放或添加。现在,如果我尝试将图像复制并粘贴到我的 QTextEdit 上,我只会看到这个

在此处输入图像描述

我应该如何为我的每一项需求做些什么?

4

4 回答 4

3

1)看看这个官方例子,它应该给你一个能够更改文本的富文本编辑器,带有一个工具栏:

http://doc.qt.io/qt-5/qtwidgets-richtext-textedit-textedit-cpp.html

要拖放图像,恐怕您必须将文本编辑(QTextEdit 或 QTextBrowser)子类化并实现这两种方法:

void QTextEdit::dropImage(QImage const& p_image, QString const& p_format)
void QTextEdit::insertFromMimeData(const QMimeData* p_source)

2) 这是一个 GitHub 项目,它实现了您需要的一切,甚至更多:

https://github.com/Anchakor/MRichTextEditor


最后,如果您想了解富文本编辑器的工作原理,请参阅以下文档:

http://doc.qt.io/qt-5/richtext.html

于 2015-11-30T10:17:31.233 回答
1

您可以使用从 Deko CRM 中提取的此编辑器:http: //www.hobrasoft.cz/en/blog/bravenec/qt-rich-text-editor

于 2014-04-03T19:49:30.860 回答
0

另一个想法可能是使用 WebKit 来制作这个小部件。见:https ://www.qt.io/blog/2009/03/12/wysiwyg-html-editor

请注意,那里链接的 git 存储库已移至此 URL:https ://code.qt.io/cgit/%7Bnon-gerrit%7D/qt-labs/graphics-dojo.git/tree/?id=8000ca3b229344ed2ba2ae81ed5ebaee86e9d63a

于 2013-09-25T15:36:28.807 回答
0

wwWidgets 有 RichTextEditor -> http://www.wysota.eu.org/wwwidgets/doc/html/qwwrichtextedit.html

于 2012-07-24T12:59:59.530 回答