qt - QML如何根据条件创建不同的类型

标签 qt qml qt5

我想知道根据 QML 代码中的条件创建矩形、文本或按钮的最佳方法是什么。

这是一个伪代码:

    import QtQuick 2.0

    Item{
        property string name = "rect" or "text" or "button"
        id:root

        if (name === "rect")
        Rectangle {
            //properties
            parent: root
        }

        else if (name === "text")
        Text {
            //properties
            parent: root
        }

        else if (name === "button")
        Button {
            //properties
            parent: root
        }
    }

最佳答案

Loader试试吧

Loader {
    property bool shouldBeText
    Component { id: rect; Rectangle {}}
    Component { id: text; Text {}}
    sourceComponent: shouldBeText ? text : rect
}

关于qt - QML如何根据条件创建不同的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52070734/

相关文章:

user-interface - 完全在 QtScript 中创建 GUI 应用程序,您的意见是什么?

c++ - 如何让我的应用程序不链接到某些库? `QT -= ` ?

qt - 使用 Qt 显示 ubuntu (linux) 通知

C++ 信号到 Qt 中的 QML 槽

javascript - QML 与 Javascript

ubuntu - Qt creator Debug模式无法在Ubuntu20上运行

qt - 如何在 QtWebKit 中获取第一个重定向(301 或 302)事件

qt - QTQuick (QML) 中的 FileDialog : Save file under given name

c++ - 如何在 Qt 中加载和保存 qsettings

qt - 如何获取系统的默认浏览器?