Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QML-设置宽度和高度无效_Qt_Qml_Qtquickcontrols2 - Fatal编程技术网

Qt QML-设置宽度和高度无效

Qt QML-设置宽度和高度无效,qt,qml,qtquickcontrols2,Qt,Qml,Qtquickcontrols2,快速控制2,Qt 5.10 我基于ListView项创建了表控件 其中一列将使用此组件显示: import QtQuick 2.10 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 Item { id: root implicitHeight: item1.implicitHeight ColumnLayout { id: item1 visible: !mode

快速控制2,Qt 5.10

我基于
ListView
项创建了表控件

其中一列将使用此组件显示:

import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3

Item
{
    id: root

    implicitHeight: item1.implicitHeight

    ColumnLayout
    {
        id: item1

        visible: !model.finished
        width: parent.width

        RowLayout
        {
            Label
            {
                text: "38%"
                Layout.alignment: Qt.AlignLeft
            }

            Label
            {
                text: "Paused"
                Layout.alignment: Qt.AlignRight
            }
        }

        ProgressBar
        {
            from: 0; to: 100; value: 40
            // Variant A
            /*Layout.preferredWidth: 30
            Layout.preferredHeight: 10*/
            // Variant B
            width: 30
            height: 10
        }
    }
}
谁能解释一下为什么变体B不起作用。我可以指定任何宽度/高度值,甚至只是删除它们-没有效果。变量A(Layout.preferredWidth/Layout.preferredHeight)工作正常

备选案文A:

备选案文B:


布局项改变其子项的尺寸。这就是他们的目的,他们的行为被记录在案

根据
ColumnLayout
的文档,行为是:

此属性保存布局中项目的首选宽度。如果首选宽度为-1,它将被忽略,而布局将改用隐式宽度。默认值为-1

由于默认值为-1,它将采用
implicitWidth
——它没有写入“而是使用宽度”



如果不想使用
Layout
请不要使用
Layout
。你可以选择

“行为被记录在案。”-你能告诉我确切位置吗?我看不到…现在我明白了改变宽度不会改变隐含宽度。那就有道理了。。。