感谢您的关注以及您可以提供的任何建议/帮助:
开始了 :)
我在 QML 中有以下布局:
Page {
ScrollView {
scrollViewProperties {
scrollMode: ScrollMode.Vertical
}
Container {
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
Label {
id: label1
objectName: qsTr("label1")
textStyle.base: SystemDefaults.TextStyles.BigText
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
multiline: true
textStyle.textAlign: TextAlign.Center
}
}
}
}
在我的 c++ 代码中,我为此标签设置了一个巨大的 UTF-8 QString:
/*
* getData() - a helper function to take care of pulling everything from
* db and then packing it all and returning to caller
*/
QString text = getData();
label1->setText(text);
在大多数情况下,一切正常。但是在某些情况下,当 text.length() 超过某个限制时,会修剪掉字符串的结尾部分。
通过调试,我可以看到其中一种情况下的 text.length 约为 55000。我还验证了 Label 能够显示最多 3000 个字符的文本。我也可以毫无疑问地说这与 ScrollView 或 Container 无关。
没有标签、滚动视图或容器文档定义任何类型的限制,除了它说它可以依赖于设备的地方。
我也尝试过使用 TextArea,但没有太多帮助,它达到了约 4000 个字符。
那么,最后,Label 或 TextArea 是否存在已知的字符限制,或者如果它是设备相关的东西,那么我该如何克服这个问题?请帮忙。