我在 QLabel 中显示一些数据,如下图所示
标签是矩形的,尺寸为 100x100 像素,我逐行显示 for loop 内的数据,如下所示
for (int i = 0; i < winSize; i++)
{
for (int j = 0; j < winSize; j++)
{
int val = val1[counter];
label->setFont(m_labelFont);
label->setText(label->text() + " " + QString::number(val));
counter = counter + 1;
}
label->setText(this->text() + "\n");
}
数据上方和下方的空白区域看起来很糟糕,我想以某种方式缩放线条以使内容适合标签的高度。
有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用以下代码在QLabel中定义文本格式:
QLabel* yourLabel = new QLabel();
yourLabel->setTextFormat(Qt::RichText);
yourLabel->setText(<your html formatted text>)
在这里查看http://doc.qt.io/qt-5/richtext-html-subset.html以获得支持html标签的子集!
答案 1 :(得分:1)
尝试使用line-height
CSS propery:
label->setFont(m_labelFont);
for (int i = 0; i < winSize; i++)
{
QString line = "<p style=\"line-height:100\">";
for (int j = 0; j < winSize; j++)
{
int val = val1[counter];
line += QString::number(val) + " ";
counter = counter + 1;
}
line += "</p>";
label->setText(label->text() + line);
}
另外,请考虑删除包含标签的布局的内容边距:
layout()->setContentsMargins(0, 0, 0, 0);