首页 > 解决方案 > 如何在标签中使用 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
    }
}

这些文件名变得太长而无法正确显示。我想完成两件事:

  1. 了解如何使用 Text.ElideMiddle 来缩短我的文本

  2. 了解如何限制我的 Label 的最大宽度

如果我能理解的话,我相信文档中有一个现成的答案。已经检查了许多参考资料,包括下面列出的这些参考资料,但我仍然无法在 Python 中解决我的问题。

标签: qtqmlqtquick2

解决方案


由于 Label 从 Text 继承,因此您可以以相同的方式使用该属性。另一方面,没有最大宽度,但您必须设置省略号时要考虑的宽度。

Label{
    id: lblSelectedFileId
    text: selectedFile
    anchors.verticalCenter: parent.verticalCenter
    elide: Label.ElideMiddle // or Text.ElideMiddle 
    width: 50
}

推荐阅读