I need a rich text editor for Qt. I've been thinking about using QTextEdit since it's a rich text edit, but I need two things that aren't present in that widget:
The user should be able to change the text color, the text font, underline, bold, italic the text, so I need something like a text editor toolbar with these controls (do I need to code them by myself?)
The user should be able to drag'n'drop or add by searching for it an image. Now if I try to copy-and-paste an image onto my QTextEdit I just see this
How should I do for each one of my needs?
1) Have a look at this official example, it should give you a rich text editor that is able to change the text, with a toolbar:
http://doc.qt.io/qt-5/qtwidgets-richtext-textedit-textedit-cpp.html
To drag and drop images, I'm afraid you will have to subclass a text edit (either QTextEdit or QTextBrowser) and implement these two methods:
void QTextEdit::dropImage(QImage const& p_image, QString const& p_format)
void QTextEdit::insertFromMimeData(const QMimeData* p_source)
2) Here is a GitHub project that implements all you need and even more:
https://github.com/Anchakor/MRichTextEditor
Lastly, if you want to understand how rich text editors work, here is the documentation: