[英]QML TextArea strange padding
我有一个TextArea。 如果我设置填充不断填充正常工作。
import QtQuick 2.9
import QtQuick.Controls 2.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
TextArea{
font.pixelSize: 20
anchors.fill: parent
wrapMode: TextArea.Wrap
leftPadding: 100 //*parent.width/640
rightPadding: 100 //*parent.width/640
}
}
如果我取消注释上面的行,那么我有奇怪的行为。 我究竟做错了什么?
截图
在设置ApplicationWindow
的contentItem
的宽度时,似乎是一个错误,可能缺少一些更新,因此行长度计算不正确。
如果你写:
leftPadding: {
console.log(parent, parent.width)
return 100 * parent.width/640
}
您可以看到, parent.width
最初设置为0,然后更改为640.当发生此更改时,信号必定存在问题。
调整窗口大小将更新行长度,以便恢复正确的布局。 您可以尝试在http://bugreports.qt.io上提交bug报告以修复它。
除此之外,您可以为您的ApplicationWindow
提供一个ID
,并使用它而不是parent
import QtQuick 2.7
import QtQuick.Controls 2.0
ApplicationWindow {
id: win
visible: true
width: 640
height: 480
title: qsTr("Hello World")
TextArea{
font.pixelSize: 20
anchors.fill: parent
wrapMode: TextArea.Wrap
leftPadding: 100 * win.width/640
rightPadding: 100 * win.width/640
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.