主要应用程序:我正在尝试使用 Qt6、C++ 和 QTextEdit 创建一个文本编辑器。
目标:我想实现允许我在富文本编辑器中插入代码块的功能,就像您通常在 StackOverflow 中看到的那样。代码块应该有圆角、它自己的背景、前景、边框、字体。
我所做的:我找到的最接近的解决方案是使用 QTextFrame。
代码:
QTextFrameFormat frameFormat;
frameFormat.setBackground(Qt::lightGray);
frameFormat.setBorder(1);
frameFormat.setBorderStyle(QTextFrameFormat::BorderStyle_Solid);
frameFormat.setMargin(0);
frameFormat.setPadding(4);
ui->textEditor->textCursor().insertFrame(frameFormat);
显然,这已经很好了,但我无法创建圆形边框或使用字体。
再一次,最终目标是在 QTextEdit 中插入一个在风格上与 StackOverflow 中的代码块非常相似的代码块。