QTextEdit can handle all that with a minimal effort on your side.