1

在下面的代码中,标签显然有足够的空间可以放在一行上,但由于某种原因,它在“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);

}

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

哦,我的天哪,就是这样
太搞笑了!

而且我要:

哦,我的天哪,这太有趣了!
4

1 回答 1

0

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

编辑:

我写了一个没有使用任何 QLayout 的代码,它工作得很好,很简单

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

希望这可以帮助

PS:'this'是我的对话框

class MyDialog : public QDialog 
于 2012-12-21T18:59:19.880 回答