为什么带有 NoWrap 的 TextArea 总是导致 "anchor loop detected" 警告?
Why does a TextArea with NoWrap always cause an "anchor loop detected" warning?
为什么 TextArea
和
wrapMode: TextEdit.NoWrap
总是导致
file:///C:/Qt/5.5/mingw492_32/qml/QtQuick/Controls/ScrollView.qml:340:13: QML Item: Possible anchor loop detected on fill.
我什么时候运行呢?
我在 64 位 Windows 7 机器上 运行ning Qt 5.5,并使用 MinGW 编译。
这是我的 QML 代码 test.qml
:
import QtQuick 2.4
import QtQuick.Controls 1.3
ApplicationWindow {
title: "test window"
width: 500
height: 500
visible: true
TextArea {
wrapMode: TextEdit.NoWrap
}
}
这是我的 C++ 代码 main.c
:
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QtQml>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/test.qml")));
return app.exec();
}
即使我将 anchors.fill: parent
添加到 TextArea
,我仍然收到警告。
作为这个问题的第二部分,这个警告是我应该担心的,还是我可以放心忽略的?
我认为这是 Qt 的一个错误,您可以忽略它。
创建时,TextArea
有一个 width != 0
,即使它是空的。当您输入 implicitWidth
小于 TextArea
的(默认)width
的文本时,您将收到此警告。
解决方法 是在 Component.onCompleted
处理程序中分配 wrapMode
属性:
Component.onCompleted: wrapMode = TextEdit.NoWrap
为什么 TextArea
和
wrapMode: TextEdit.NoWrap
总是导致
file:///C:/Qt/5.5/mingw492_32/qml/QtQuick/Controls/ScrollView.qml:340:13: QML Item: Possible anchor loop detected on fill.
我什么时候运行呢?
我在 64 位 Windows 7 机器上 运行ning Qt 5.5,并使用 MinGW 编译。
这是我的 QML 代码 test.qml
:
import QtQuick 2.4
import QtQuick.Controls 1.3
ApplicationWindow {
title: "test window"
width: 500
height: 500
visible: true
TextArea {
wrapMode: TextEdit.NoWrap
}
}
这是我的 C++ 代码 main.c
:
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QtQml>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/test.qml")));
return app.exec();
}
即使我将 anchors.fill: parent
添加到 TextArea
,我仍然收到警告。
作为这个问题的第二部分,这个警告是我应该担心的,还是我可以放心忽略的?
我认为这是 Qt 的一个错误,您可以忽略它。
创建时,TextArea
有一个 width != 0
,即使它是空的。当您输入 implicitWidth
小于 TextArea
的(默认)width
的文本时,您将收到此警告。
解决方法 是在 Component.onCompleted
处理程序中分配 wrapMode
属性:
Component.onCompleted: wrapMode = TextEdit.NoWrap