qt - QML:使用 RichText 时将文本包装到高度
问题描述
我正在尝试在 QMLText
对象中显示一个长的(ish)HTML 文件。
当文本长于当前视口中无法显示时,它会被截断(即仅显示最后一行文本的一半,而下半部分被隐藏)。
通常,我会使用 elide 或 maximumLineCount,但在使用富文本时,这些属性都不起作用。由于这是一个完整的 HTML 文档,它必须是 RichText 而不是 StyledText。
例子:
Rectangle {
width: 300;
height: 400;
Text {
id: text
anchors.fill: parent
textFormat: Text.RichText
wrapMode: Text.Wrap
text: "..."
}
}
我可以向 Text 或 Rectangle 添加什么样的属性/更改以使其仅显示可以以给定宽度和高度显示的文本?
我能找到的与这个问题相关的唯一其他问题是Qml: use Text's elide property with textFormat: RichText,但这对我来说并不实用。
解决方案
您最好将组件包装在ScrollViewText
之类的容器中。Flickable是另一种选择。
ScrollView {
width: 300
height: 400
clip: true
Text {
id: text
textFormat: Text.RichText
text: "..."
}
}
或者...如果您真的想将文本放在 a 中Rectagle
并剪辑其内容,那么只需将clip
您的属性设置Rectangle
为true
.
Rectangle {
width: 300
height: 400
clip: true
Text {
}
}
推荐阅读
- ios - 如何在 Swift 中使用初始化器或构造器
- unity3d - UNITY 尝试使用 Oculus VR 集成输入 (OVRinput) 触发 CustomEvent
- sql - 在这里寻找一些 SQL 帮助
- javascript - 如何找到标题中包含的未知脚本的来源?
- c# - 遍历对象中所有字段和嵌套字段的最佳方法
- mediawiki - 在生成器=链接中识别来源
- c - 如何使用管道或任何其他方法将数据从多个子进程发送到父数组?
- python - df.loc 替换数据框中的逗号分隔数字
- java - 如果用户输入是空行,需要帮助打破循环
- python - 有没有更好的方法来编写这个简短的脚本?