QT - 按钮点击增加Richtext大小

时间:2014-07-01 06:05:00

标签: qt

如何通过点击按钮增加富文本的大小?

我有一个QTextEdit框,里面粘贴了Rich文本。点击+ [ui按钮]我需要增加其中所有文字的字体大小。关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

解决方案

这是你应该在插槽内做的事情:

//-------------------------desired format------------------------------- 
qreal pointSize = 40; // 40 for example, you can parameterize it
QTextCharFormat format;
format.setFontPointSize(pointSize);
//----------------------------------------------------------------------
ui->textEdit->selectAll(); 
//            ^^^^^^^^^^^ You ask for all text in the textedit
// But remember partially change with mouse selection is also doable
ui->textEdit->mergeCurrentCharFormat(format);

(P.S。ui->textEdit是指向QTextEdit

的指针

关键是创建一个QTextCharFormat的实例来设置" 部分"字体信息(例如:仅尺寸信息)并使用QTextEdit::mergeCurrentCharFormat将原始格式与新格式合并。


例如:

通过上述操作合并后,将保留除大小以外的颜色,字体等:

enter image description here

答案 1 :(得分:0)

您可以使用QTestEdit::setCurrentFont()功能。例如:

QTextEdit te;
QFont f = te.currentFont();

int oldPointSize = f.pointSize();
int newPointSize = oldPointSize + 10;
f.setPointSize(newPointSize);
te.setCurrentFont(f);

te.setText("Test");
te.show();