Label-BB10本机应用程序中允许的最大Qstring长度
max Qstring length allowed in Label - BB10 native apps
感谢您的关注以及您能提供的任何建议/帮助:
我们开始:)
我在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()超过某个限制时,会有一些东西修剪掉字符串的尾部。
通过调试,我可以看到其中一种情况下的文本长度约为55000。此外,我还验证了Label能够显示多达3000个字符的文本。此外,我可以毫无疑问地说,这与ScrollView或Container无关。
没有标签、滚动视图或容器文档定义任何类型的限制,除非它说它可能依赖于设备。
我也尝试过使用TextArea,但在没有太多帮助的情况下,它增加了大约4000个字符。
最后,标签或文本区域是否有已知的字符限制,或者如果它是一个依赖于设备的东西,那么我如何克服这个问题?请帮忙。
TextArea
小部件的已知限制可以在文档中找到(TextArea最大长度):
默认的最大长度为INT_MAX,这意味着没有设置限制。虽然没有限制集,但实际的限制是一个大的有限值,并且取决于设备。
尽管Label
小部件没有这样的属性,但我想它的值与从AbstractTextControl
继承的所有类的值相同,这些类使用QString
来保存要显示的文本,并且用于返回QString
长度的类型是int
我用这个代码得到了35716的限制:
Label {
onCreationCompleted: {
var texte = "0 ";
var count = 0;
for (var i = 0; i < 12000; i ++) {
count += count.toString().length + 1;
texte = texte + " " + count;
}
text = texte;
}
multiline: true
text: ""
}
我们应该将此添加到BlackBerry bugTracker的票证中:https://www.blackberry.com/jira/secure/Dashboard.jspa
相关文章:
- 将 Qvector<uint8_t> 转换为 QString
- 从C字符串中获取奇怪的字符串长度
- 如何在数组中找到字符串的长度
- 获取字符串的长度并将其分配给数组
- 数组长度,为什么从命令行获取时不能使用它?
- 在一定长度后从数组中打印时缺少整数
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- 在C++中查找范围的长度
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- 如何创建长度由常量参数指定的数组
- 求最长递增子序列C++的长度
- 如何在 nlohmann 的 json 库中获取数组长度?
- 使用C++进行运行长度解压缩
- 如何通过按下第三个窗口中的按钮,将QString从一个窗口获取到另一个窗口
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 如何将可变长度参数联接为字符串
- 我应该如何从 stdin C++ 中读取可变长度的格式字符串?
- 修复QString尺寸(长度)
- Label-BB10本机应用程序中允许的最大Qstring长度
- 获取QString长度(以字符为单位,而不是字节)