c++ - QLabel 插入(自动)一个空行
问题描述
所有标签都在一个列表小部件中,这是垂直滚动的。在将大文本添加到标签之前,我设置了它的最大宽度。当我将大文本设置为标签时,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 将正确显示。但是,如果我构建它们以使所有元素都由垂直布局跨越,那么就会出现渲染问题(如上所述)。这种极其奇怪的行为是可以理解的,man可以来回切换:有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]
解决方案
推荐阅读
- command - 如何在启动时在 Plesk 托管服务器上启动作业
- python - 如何使用 cacti 监控节点 - 使用脚本(shell ..)收集数据 没有 SNMP MIB
- java - SqlRowSet 返回 null,但为什么呢?
- mysql - 选择花费 20 秒?如果我删除订单将只需要 0,020
- javascript - 通过按钮调用的脚本调用表单
- css - 为什么不使用JSS在material-ui中加载Roboto
- javascript - 在想要的时间后删除视频悬停控件
- git - git - 无法签出远程分支
- jquery - 如何使用 jQuery 和 Yii2 在翻译中转义撇号
- javascript - 如何将 JSON 数据添加到卡片并显示给最终用户