negative60
چهارشنبه 10 دی 1393, 16:17 عصر
چطور میشه استایل هایی رو که طراحی کردیم رو در يک فايل ديگه قرار داد و در فرم برنامه فراخوانی کرد؟
وقتی که استایل در فرم برنامه باشه مشکلی نیست اما وقتی از فایل دیگه درون پروژه استايل رو میخوام به کنترل مورد نظر نسبت بدم خطا ميده
Error:
file:///D:/Qt/Qt5.4.0/5.4/mingw491_32/qml/QtQuick/Controls/Button.qml:100: TypeError: Cannot read property of null
qrc:/MainForm.ui.qml:19: ReferenceError: MyButtonStyle is not defined
main.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.2
import QtQuick.Layouts 1.1
import "."
Item {
width: 640
height: 480
Button {
style: MyButtonStyle.lightStyle
id: button1
text: "Test"
}
}
MyButtonStyle.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.2
QtObject {
property Component lightStyle: ButtonStyle {
background: Rectangle {
implicitWidth: 100
implicitHeight: 25
border.width: control.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
gradient: Gradient {
GradientStop { position: 0 ; color: control.pressed ? "#ccc" : "#eee" }
GradientStop { position: 1 ; color: control.pressed ? "#aaa" : "#ccc" }
}
}
}
}
وقتی که استایل در فرم برنامه باشه مشکلی نیست اما وقتی از فایل دیگه درون پروژه استايل رو میخوام به کنترل مورد نظر نسبت بدم خطا ميده
Error:
file:///D:/Qt/Qt5.4.0/5.4/mingw491_32/qml/QtQuick/Controls/Button.qml:100: TypeError: Cannot read property of null
qrc:/MainForm.ui.qml:19: ReferenceError: MyButtonStyle is not defined
main.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.2
import QtQuick.Layouts 1.1
import "."
Item {
width: 640
height: 480
Button {
style: MyButtonStyle.lightStyle
id: button1
text: "Test"
}
}
MyButtonStyle.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.2
QtObject {
property Component lightStyle: ButtonStyle {
background: Rectangle {
implicitWidth: 100
implicitHeight: 25
border.width: control.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
gradient: Gradient {
GradientStop { position: 0 ; color: control.pressed ? "#ccc" : "#eee" }
GradientStop { position: 1 ; color: control.pressed ? "#aaa" : "#ccc" }
}
}
}
}