加载器大小取决于源

Den*_*r21 3 qt qml qtquick2

我正在 QML 中开发一个消息对话框窗口的小系统。为此,我使用带有加载器的容器加载不同的消息(这些消息不仅仅是文本,而是布局的文本和图形符号,因此为每个单独的消息加载 QML 文件)。默认情况下,这些消息窗口具有相同的大小,因此我将大小信息直接存储在容器中。但有些消息可能会更长,因此我正在寻找一种方法来使用height我加载的组件(如果它超过默认值)。在我看来,我的问题可以分为三个部分:

  • 如何根据子容器的尺寸来调整容器的大小?
  • 如何通过我的Loader对象访问已加载组件的大小信息?
  • 如何选择性地使用较大的尺寸?

有什么建议么?

Mid*_*ido 6

您可以使用访问加载的对象item keyword。例如,如果您的加载程序 id 是idLoader,那么创建的项目是idLoader.item,您有 2 个解决方案来完成您想要的操作:

1:如何通过我的加载器对象访问已加载组件的大小信息?

Loader{
id:idLoader
width: (item !== null && typeof(item)!== 'undefined')? item.width : 0
height: (item !== null && typeof(item)!== 'undefined')? item.height: 0
}
Run Code Online (Sandbox Code Playgroud)

2:如何根据子容器的尺寸来调整容器的大小?& 如何选择性地使用较大的尺寸?

  Loader{
        id:idLoader
        width: childrenRect.width
        height : childrenRect.height
        }
Run Code Online (Sandbox Code Playgroud)