QML:如何自定义组件并在同一文件中使用它

时间:2017-11-21 02:37:26

标签: qt user-interface qml qtquick2

QML中是否有一些语法可以在同一个文件中定义和使用组件?

import QtQuick 2.6
import QtQuick.Window 2.2

var MyButton = Rectangle { width : 100; height : 60; color : "red" } // define it

Window {
    visible: true
    MyButton // use it
}

2 个答案:

答案 0 :(得分:1)

您无法直接使用内联组件,但可以使用加载器:

Component {
  id: btn
  Button { width = 100; height = 60; background = "red" }
}

Loader {
  sourceComponent: btn
}

另一个缺点是,您不能直接为创建的对象指定属性。

您还可以将该组件用作视图和转发器等的委托。

这是IMO对QML的一个重大遗漏。

答案 1 :(得分:0)

由@dtech提供支持

julia
function printpng(fig = current())
    savefig(fig, "tempplot.png")
    run(`lpr -PForsbergColor tempplot.png`)
    run(`rm tempplot.png`)
end

结果:

Running result