为什么QLabel过早包裹?

时间:2012-12-21 18:56:46

标签: c++ qt

在下面的代码中,标签显然有足够的空间放在一行上,但由于某种原因,它在'thats'之后将其分成两行。为什么以及如何防止这种情况?

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    this->setFixedSize(250,100);

    QLabel *label = new QLabel;
    label->setStyleSheet("background-color:blue");
    label->setWordWrap(true);
    label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    label->setText("Oh my gosh thats too funny!");
    label->setParent(this);

}

再次为清楚起见,它显示:

Oh my gosh thats 
too funny!

我想要:

Oh my gosh thats too funny!

1 个答案:

答案 0 :(得分:0)

您是否在Widget中使用任何布局?如果没有尝试手动设置QLabels宽度和高度

编辑:

我编写了一个没有使用任何QLayout的代码,它运行正常,非常简单

QLabel *label= new QLabel(QString::fromUtf8("Client code"), this);
label->setGeometry(posx, posy, w, h);

希望这会有所帮助

PS:'这'是我的对话

class MyDialog : public QDialog