将文本保存在QHBoxLayout中

时间:2014-03-07 01:30:23

标签: qt resize qlabel qlayout

我正在尝试在我的应用程序中创建超链接。我有两个标签,其中一个是超链接。

labelPropulsedBy = new QLabel();
    labelPropulsedBy->setText(tr("Propulsé par "));
    labelPropulsedBy->setLayout(hboxLayout);

labelWebLink = new QLabel();
    labelTripleGear->setText("<a href=\"https://www.google.ca/\">Click Here!</a>");
    labelTripleGear->setTextFormat(Qt::RichText);
    labelTripleGear->setTextInteractionFlags(Qt::TextBrowserInteraction);
    labelTripleGear->setOpenExternalLinks(true);
    labelTripleGear->setLayout(hboxLayout);

问题是当我调整窗口大小时,这两个标签会分开,就像它们之间有很多间距一样。你怎么把他们放在一起?

如果有更好的方法,请提出,我试图改善我的编码习惯。

1 个答案:

答案 0 :(得分:1)

创建一个新的水平间隔并将其添加到超链接标签后面(或文本标签前面),这将解决您的问题。代码可能如下所示:

QSpacerItem *horizontalSpacer;
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
hboxlayout->addItem(horizontalSpacer);

此外,我建议使用设计师来确定您的应用设计速度!