В
http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian#3f6f8cc9beaffd1d806d115a1816fceeнаписано:
import Qt 4.7 //импортируем модуль Qt QML
import "folderName" //импортируем содержимое папки
import "script.js" as Script //импортируем код из файла Javascript, назовем этот код именем Script
Представленный выше код показывает, как можно использовать ключевое слово import. Это необходимо для того, чтобы использовать файлы JavaScript или QML, которые расположены в другом каталоге. Так как файл Button.qml находится в той же папке, что и файл FileMenu.qml, то у нас нет необходимости импортировать файл Button.qml для работы с ним.
У меня два файла в одной папке, вот код:
main.qml
import QtQuick 1.0
Rectangle {
width: 360
height: 360
Text {
text: "Hello World"
anchors.centerIn: parent
}
MouseArea {
x: 0
y: 0
width: 360
height: 360
anchors.leftMargin: 0
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
и
button.qml
import QtQuick 1.0
//import Qt 4.7
Item {
id: button
signal clicked
property string text
property bool toggled: false
width: 100
height: 60
Rectangle {
anchors.fill: button
anchors.margins: mouseArea.pressed ? 3 : 2
color: toggled ? (mouseArea.pressed ? "#442222" : "darkred") : (mouseArea.pressed ? "#333333": "black")
radius: mouseArea.pressed ? 8 : 6
Text {
id: text
anchors.centerIn: parent
text: button.text
font.pixelSize: mouseArea.pressed ? 12 : 14
color: "white"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: {
button.clicked()
}
}
}
}
По идее для обращение к объекту из button.qml в main.qml надо написать - button {}, но на это креатор ругается.