小编Ban*_*ung的帖子

qml如何在tabview中使用loader

我找不到使用加载程序填充tabview中的选项卡的方法.当它在TabView之外时,加载器工作正常(即如果我删除mainTrial.qml顶部的多行注释字符,并且Loader加上Connections位于顶部.但是如果我将Loader移动到子行中一个选项卡,我收到错误"无法为一个单一属性分配多个值.我也不能使用menuLoader.source或column1.menuLoader.source或其他变体来解决TabView之外的Loader.这是主文件.(包含定义信号的其他两个文件,以便您可以看到信号有效.)我做错了什么?

编辑:(排列和组合的良好的法律)我发现如果我做了连接声明,选项卡上的Loader的子项,问题就会消失.我将在选项卡上分配一个"值" - 作为Loader,现在我可以为每个选项卡加载一个qml项目.

// mainTrial

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1 


Item {
    id: trial
    width: 360
    height: 360
    ColumnLayout {
        id: column1
        spacing:150
        Item {Layout.fillHeight: true}
        TabView {
            id: tabPages
            Tab {
                id: welcomePage
                title: "Welcome"
                // /*
                Loader{
                    id: menuLoader
                    source: "mainTrial1.qml"
                    anchors.top: parent.top
                    Connections {
                        id: menuConnection
                        ignoreUnknownSignals: true
                        target: menuLoader.item
                        onMainTrial3: {
                            menuLoader.source = "mainTrial3.qml"
                            console.log("originated from " + origin)
                        }
                        onMainTrial1: {
                            menuLoader.source = "mainTrial1.qml"
                            console.log("originated from " + origin)
                        } …
Run Code Online (Sandbox Code Playgroud)

qt android qml

5
推荐指数
1
解决办法
3290
查看次数

标签 统计

android ×1

qml ×1

qt ×1