【发布时间】:2018-06-14 13:54:51
【问题描述】:
我目前正在尝试为我正在计划的某个工具窗口创建一种通用 QML 组件。
有没有办法根据它包含的ListView 的大小实际设置所述窗口的大小? ListView 的大小部分取决于其委托渲染的模型数据。这是一个代码示例,它将从外部某个地方实例化:
import QtQuick 2.2
import QtQuick.Window 2.2
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
Window{
id:window
title: "WindowTitle"
modality: "ApplicationModal"
flags: "Dialog"
ListView {
id: list
model: model_inst
delegate: RowLayout{
id: list_entry
Text {
text: "Model-based variable length text: " + text
}
ComboBox {
model: listrole
}
Switch {
text: qsTr("Switch")
}
}
}
}
所以基本上我正在尝试访问例如list_entry.width 作为窗口宽度的来源 id 不起作用,因为在初始 QML 实例化之后可能会使用委托?
不确定是否有办法,或者我不可避免地试图建立某种参考循环。谢谢!
【问题讨论】: