左边是行间距0的效果,中间是行间距20的效果,右边是行间距40的效果
以下是实现代码,主要通过设置HTML格式来实现;(暂时未找到其它方式设置QLabel行间距)
QString qsContent = "Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。";
QString qsShow;
int rowHeight = 0;
ui->label->setWordWrap(true);//设置自动换行
ui->label->setAlignment(Qt::AlignTop);
qsShow = QString("<p style='line-height:%1px; width:100% ; white-space: pre-wrap; '>").arg(rowHeight) + qsContent + "</p>";
ui->label->setText(qsShow);
ui->label_2->setWordWrap(true);
ui->label_2->setAlignment(Qt::AlignTop);
rowHeight = 20;
qsShow = QString("<p style='line-height:%1px; width:100% ; white-space: pre-wrap; '>").arg(rowHeight) + qsContent + "</p>";
ui->label_2->setText(qsShow);
ui->label_3->setWordWrap(true);
ui->label_3->setAlignment(Qt::AlignTop);
rowHeight = 40;
qsShow = QString("<p style='line-height:%1px; width:100% ; white-space: pre-wrap; '>").arg(rowHeight) + qsContent + "</p>";
ui->label_3->setText(qsShow);