如何在 Label 中使用 Text.ElideMiddle?
How to use Text.ElideMiddle in a Label?
我有一个标签(如下所示)可以显示完全限定的文件名(包括完整路径)。
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缩短我的文本。
了解如何限制我的标签的最大宽度。
如果我能理解的话,我确信文档中有现成的答案。已经检查了许多参考资料,包括下面列出的这些,但我仍然无法解决 Python.
中的问题
- 文本QML类型| Qt 快速 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 的“文本溢出” - 堆栈内存溢出
“text-overflow” for a QLabel’s text rendering in QT
- 消除标签 - Qt Wiki https://wiki.qt.io/Elided_Label
由于 Label 继承自 Text,因此您可以以相同的方式使用 属性。另一方面,没有最大宽度,但您必须设置省略号要考虑的宽度。
Label{
id: lblSelectedFileId
text: selectedFile
anchors.verticalCenter: parent.verticalCenter
<b>elide: Label.ElideMiddle // or Text.ElideMiddle </b>
<b>width: 50</b>
}
我有一个标签(如下所示)可以显示完全限定的文件名(包括完整路径)。
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缩短我的文本。
了解如何限制我的标签的最大宽度。
如果我能理解的话,我确信文档中有现成的答案。已经检查了许多参考资料,包括下面列出的这些,但我仍然无法解决 Python.
中的问题- 文本QML类型| Qt 快速 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 的“文本溢出” - 堆栈内存溢出 “text-overflow” for a QLabel’s text rendering in QT
- 消除标签 - Qt Wiki https://wiki.qt.io/Elided_Label
由于 Label 继承自 Text,因此您可以以相同的方式使用 属性。另一方面,没有最大宽度,但您必须设置省略号要考虑的宽度。
Label{
id: lblSelectedFileId
text: selectedFile
anchors.verticalCenter: parent.verticalCenter
<b>elide: Label.ElideMiddle // or Text.ElideMiddle </b>
<b>width: 50</b>
}