qt - 如何在标签中使用 Text.ElideMiddle?
问题描述
我有一个标签(如下所示),可以显示完全限定的文件名(包括完整路径)。
import QtQml.Models 2.2
import QtQuick.Window 2.2
import QtQuick 2.2
import QtQuick.Controls 1.3
import QtQuick.Controls 2.2 as M2
import QtQuick.Layouts 1.3
ApplicationWindow {
Label {
id: lblSelectedFileId
text: selectedFile
anchors.verticalCenter: parent.verticalCenter
}
}
这些文件名变得太长而无法正确显示。我想完成两件事:
了解如何使用 Text.ElideMiddle 来缩短我的文本。
了解如何限制我的 Label 的最大宽度。
如果我能理解的话,我相信文档中有一个现成的答案。已经检查了许多参考资料,包括下面列出的这些参考资料,但我仍然无法在 Python 中解决我的问题。
- 文本 QML 类型 | Qt Quick 5.9 https://doc-snapshots.qt.io/qt5-5.9/qml-qtquick-text.html#elide-prop
- 删除 TextField 中的文本 | Qt 论坛 https://forum.qt.io/topic/92006/elide-text-in-textfield
- QLabel 的“文本溢出” - 堆栈内存溢出 QLabel 在 QT 中的文本呈现的“文本溢出”
- 省略标签 - Qt Wiki https://wiki.qt.io/Elided_Label
解决方案
由于 Label 从 Text 继承,因此您可以以相同的方式使用该属性。另一方面,没有最大宽度,但您必须设置省略号时要考虑的宽度。
Label{
id: lblSelectedFileId
text: selectedFile
anchors.verticalCenter: parent.verticalCenter
elide: Label.ElideMiddle // or Text.ElideMiddle
width: 50
}
推荐阅读
- odoo - 如何仅在 odoo 10 中的库存内部转移或交货单移动行上显示自定义字段
- html - 带有 HTML 标签的 R `sprintf` 给出了`参数不能被回收到相同的长度`
- datetime - Solr 无法正确检索日期
- powershell - Update-AzureRmEventGridSubscription 设置主题前缀/后缀为字符串空
- docker - Kubernetes Pod 卡在 Terminating 的解决方案
- angular - 角度材料 fxlayoutgap 提供不一致的输出(有时不工作)
- jquery - 做 3+ ajax 调用得到 500 内部服务器错误
- git - Git - 从 IntelliJ IDE 撤消强制签出
- angular - Flex layout used in mat-drawer-content
- nosql - Cloudant:在 http 导航器中查询