所有标签都在listwidget中,这是垂直滚动的。在标签上放置大文本之前,先设置其maximumWidth。 当我将大文本设置为标签时,QLabel在顶部插入空白行。 我为之疯狂!我该怎么做才能摆脱空行?
您怎么看,我在一些标签上添加了绿色边框,因此您可以更好地看到空白行(由QLabel插入!)。我只是在输入诸如“ visuelle Kontrolle”之类的文字,但是QLabel在我的文字开头插入了一个换行符。这样看起来就可以看到。
编辑: 另外,我放了一些代码,因此您可以在这里看到我在做什么。 首先,我为标签设置了maximumSize:
auto width = listCtrl->verticalScrollBar()->sizeHint().width();
auto items = {
ui->m_editKKS,
ui->m_editOrt,
ui->m_editKurzbezeichnung,
ui->m_editLetzterSchaden};
for (QLabel* item : items)
{
auto margin = 15;
item->setMaximumWidth(item->width() - (width + margin));
// item->setStyleSheet("border:1px solid green;");
}
ui->m_editTaetigkeit->setMaximumWidth(ui->m_editTaetigkeit->width() - width);
然后我在控件上输入文本。对于每个控件,我都使用setText:
ui->m_editLetzterSchaden->setText("some text comes here...");
and so on...
编辑:
我注意到(可能)非常重要的事情。如果我构建UI使其不被垂直布局所包围,则QLabels将正确显示。但是,如果我构建它们以使所有元素都被垂直布局所覆盖,则存在渲染问题(如上所述)。这种极其奇怪的行为是可以理解的,并且可以来回切换人:使用QVBoxLayout->显示错误,没有QVBoxLayout->没有错误,等等...
在这里,您可以看到UI代码没有围绕UI元素的垂直布局:
[?xml version="1.0" encoding="UTF-8"?]
[ui version="4.0"]
[class]PrjNameMeldung1_5[/class]
[widget class="QMainWindow" name="PrjNameMeldung1_5"]
[property name="geometry"]
[rect]
[x]0[/x]
[y]0[/y]
[width]375[/width]
[height]444[/height]
[/rect]
[/property]
[property name="windowTitle"]
[string]MainWindow[/string]
[/property]
[widget class="QWidget" name="centralwidget"]
[widget class="QWidget" name="gridLayoutWidget"]
[property name="geometry"]
[rect]
[x]9[/x]
[y]25[/y]
[width]361[/width]
[height]401[/height]
[/rect]
[/property]
[layout class="QGridLayout" name="gridLayout"]
[item row="3" column="0"]
[widget class="PrjListControl" name="listWidget"]
[property name="sizePolicy"]
[sizepolicy hsizetype="Expanding" vsizetype="Expanding"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[/widget]
[/item]
[item row="1" column="0"]
[widget class="QLabel" name="m_editTPAggregat"]
[property name="text"]
[string]TPAggregat[/string]
[/property]
[/widget]
[/item]
[item row="2" column="0"]
[widget class="QLabel" name="m_labelAuswahl"]
[property name="text"]
[string]Baugruppe[/string]
[/property]
[property name="alignment"]
[set]Qt::AlignCenter[/set]
[/property]
[/widget]
[/item]
[item row="0" column="0"]
[widget class="QLabel" name="m_editTP"]
[property name="text"]
[string]TP[/string]
[/property]
[property name="alignment"]
[set]Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop[/set]
[/property]
[/widget]
[/item]
[/layout]
[/widget]
[widget class="PrjToolBar" name="m_groupMenuBar" native="true"]
[property name="geometry"]
[rect]
[x]9[/x]
[y]425[/y]
[width]357[/width]
[height]16[/height]
[/rect]
[/property]
[property name="sizePolicy"]
[sizepolicy hsizetype="Preferred" vsizetype="Fixed"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[property name="minimumSize"]
[size]
[width]0[/width]
[height]10[/height]
[/size]
[/property]
[/widget]
[widget class="PrjNavigationBar" name="m_groupWindowTitle" native="true"]
[property name="geometry"]
[rect]
[x]9[/x]
[y]9[/y]
[width]357[/width]
[height]16[/height]
[/rect]
[/property]
[property name="sizePolicy"]
[sizepolicy hsizetype="Preferred" vsizetype="Fixed"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[property name="minimumSize"]
[size]
[width]0[/width]
[height]10[/height]
[/size]
[/property]
[/widget]
[/widget]
[/widget]
[customwidgets]
[customwidget]
[class]PrjToolBar[/class]
[extends]QWidget[/extends]
[header location="global"]controls/Prjtoolbar.h[/header]
[container]1[/container]
[/customwidget]
[customwidget]
[class]PrjNavigationBar[/class]
[extends]QWidget[/extends]
[header location="global"]controls/Prjnavigationbar.h[/header]
[container]1[/container]
[/customwidget]
[customwidget]
[class]PrjListControl[/class]
[extends]QListWidget[/extends]
[header location="global"]controls/Prjlistcontrol.h[/header]
[/customwidget]
[/customwidgets]
[resources/]
[connections/]
[/ui]
在这里,您可以在UI元素周围看到具有垂直布局的UI代码 :
[?xml version="1.0" encoding="UTF-8"?]
[ui version="4.0"]
[class]PrjNameMeldung1_5[/class]
[widget class="QMainWindow" name="PrjNameMeldung1_5"]
[property name="geometry"]
[rect]
[x]0[/x]
[y]0[/y]
[width]375[/width]
[height]444[/height]
[/rect]
[/property]
[property name="windowTitle"]
[string]MainWindow[/string]
[/property]
[widget class="QWidget" name="centralwidget"]
[layout class="QVBoxLayout" name="verticalLayout"]
[item]
[widget class="PrjNavigationBar" name="m_groupWindowTitle" native="true"]
[property name="sizePolicy"]
[sizepolicy hsizetype="Preferred" vsizetype="Fixed"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[property name="minimumSize"]
[size]
[width]0[/width]
[height]10[/height]
[/size]
[/property]
[/widget]
[/item]
[item]
[layout class="QGridLayout" name="gridLayout"]
[item row="3" column="0"]
[widget class="PrjListControl" name="listWidget"]
[property name="sizePolicy"]
[sizepolicy hsizetype="Expanding" vsizetype="Expanding"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[/widget]
[/item]
[item row="1" column="0"]
[widget class="QLabel" name="m_editTPAggregat"]
[property name="text"]
[string]TPAggregat[/string]
[/property]
[/widget]
[/item]
[item row="2" column="0"]
[widget class="QLabel" name="m_labelAuswahl"]
[property name="text"]
[string]Baugruppe[/string]
[/property]
[property name="alignment"]
[set]Qt::AlignCenter[/set]
[/property]
[/widget]
[/item]
[item row="0" column="0"]
[widget class="QLabel" name="m_editTP"]
[property name="text"]
[string]TP[/string]
[/property]
[property name="alignment"]
[set]Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop[/set]
[/property]
[/widget]
[/item]
[/layout]
[/item]
[item]
[widget class="PrjToolBar" name="m_groupMenuBar" native="true"]
[property name="sizePolicy"]
[sizepolicy hsizetype="Preferred" vsizetype="Fixed"]
[horstretch]0[/horstretch]
[verstretch]0[/verstretch]
[/sizepolicy]
[/property]
[property name="minimumSize"]
[size]
[width]0[/width]
[height]10[/height]
[/size]
[/property]
[/widget]
[/item]
[/layout]
[/widget]
[/widget]
[customwidgets]
[customwidget]
[class]PrjToolBar[/class]
[extends]QWidget[/extends]
[header location="global"]controls/Prjtoolbar.h[/header]
[container]1[/container]
[/customwidget]
[customwidget]
[class]PrjNavigationBar[/class]
[extends]QWidget[/extends]
[header location="global"]controls/Prjnavigationbar.h[/header]
[container]1[/container]
[/customwidget]
[customwidget]
[class]PrjListControl[/class]
[extends]QListWidget[/extends]
[header location="global"]controls/Prjlistcontrol.h[/header]
[/customwidget]
[/customwidgets]
[resources/]
[connections/]
[/ui]