zoukankan      html  css  js  c++  java
  • QML动态加载组件

    QML中的组件可以重复使用,并且可以通过Loader加载。如下示例:

     1 import QtQuick 2.4
     2 import QtQuick.Controls 1.3
     3 import QtQuick.Window 2.2
     4 import QtQuick.Dialogs 1.2
     5 
     6 Rectangle{
     7     id: root
     8       512
     9     height: 512
    10     color: "gray"
    11 
    12     Text {
    13         id: coloredText
    14         anchors.horizontalCenter: parent.horizontalCenter
    15         anchors.top: parent.top
    16         anchors.topMargin: 20
    17 
    18         text: "Hello World"
    19         color: "blue"
    20         font.pointSize: 30
    21     }
    22 
    23     Component {
    24         id: colorComponent
    25         Rectangle {
    26             id: colorPicker
    27              50
    28             height: 30
    29 
    30             signal colorPicked(color clr);
    31 
    32             MouseArea {
    33                 anchors.fill: parent
    34                 onPressed: colorPicker.colorPicked(colorPicker.color);
    35             }
    36         }
    37     }
    38 
    39     Loader {
    40         id: redLoader
    41         anchors.left: parent.left
    42         anchors.leftMargin: 4
    43         anchors.bottom: parent.bottom
    44         anchors.bottomMargin: 4
    45 
    46         sourceComponent: colorComponent
    47         onLoaded: {
    48             item.color = "red"
    49         }
    50     }
    51 
    52     Loader {
    53         id: blueLoader
    54         anchors.left: redLoader.right
    55         anchors.leftMargin: 4
    56         anchors.bottom: parent.bottom
    57         anchors.bottomMargin: 4
    58 
    59         sourceComponent: colorComponent
    60         onLoaded: {
    61             item.color = "blue"
    62         }
    63     }
    64 
    65     Connections {
    66         target: redLoader.item
    67         onColorPicked: {
    68             coloredText.color = clr
    69         }
    70     }
    71 
    72     Connections {
    73         target: blueLoader.item
    74         onColorPicked: {
    75             coloredText.color = clr
    76         }
    77     }
    78 }
  • 相关阅读:
    辅助构造器
    pycharm、webstorm和idea激活码
    Executor
    生产者和消费者模型
    Master和worker模式
    Future模式
    记事本中快速查看数字对应的ASCII
    C#中时间戳和日期相互转换
    Dos命令调用FlashFXP上传文件
    curl 上传文件
  • 原文地址:https://www.cnblogs.com/xiaomanon/p/4546285.html
Copyright © 2011-2022 走看看