QML Styling/bg: Difference between revisions
No edit summary |
AutoSpider (talk | contribs) (Remove non-functioning "toc" command) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Български''' [[QmlStyling|English]] [[QmlStyling_Spanish|Spanish]] [[QmlStyling_Italian|Italian]] [[QmlStyling_Hungarian|Magyar]] | {{Cleanup | reason=Auto-imported from ExpressionEngine.}} | ||
'''Български''' [[QmlStyling|English]] [[QmlStyling_Spanish|Spanish]] [[QmlStyling_Italian|Italian]] [[QmlStyling_Hungarian|Magyar]] [http://qt-devnet.developpez.com/tutoriels/qt-quick/qml/style/ French] | |||
= Създаване на стилове в QML = | = Създаване на стилове в QML = | ||
Line 7: | Line 9: | ||
== Подход 1: Собствен компонент == | == Подход 1: Собствен компонент == | ||
QML поддържа дефинирането на | QML поддържа дефинирането на [http://doc.qt.nokia.com/4.7/qml-extending-types.html#defining-new-components собствени компоненти]. По-долу, ние създаваме собственият компонент '''TitleText''', който можем после да използваме в нашата програма, когато искаме заглавен текст. Ако изкаме да променим външният вид на всички заглавни текстове в нашият интерфейс, можем просто да редактираме ''TitleText.qml'' и промените ще се отразят навсякъде, където е използван. | ||
<code>// TitleText.qml | <code>// TitleText.qml | ||
Text { | |||
horizontalAlignment: Text.AlignHCenter | |||
font.pixelSize: 50 | |||
color: "green" | |||
} | |||
// употреба | // употреба | ||
TitleText { | |||
text: "Title 1" | |||
}</code> | |||
== Подход 2: Допълнителен обект == | == Подход 2: Допълнителен обект == | ||
Line 17: | Line 27: | ||
При този подход, дефинираме '''Style''' обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение. | При този подход, дефинираме '''Style''' обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение. | ||
<code>// Style.qml | <code>// Style.qml | ||
QtObject { | |||
property int textSize: 20 | |||
property color textColor: "green" | |||
} | |||
// главен компонент | // главен компонент | ||
Rectangle { | |||
… | |||
Style { id: style } | |||
… | |||
} | |||
// употреба | // употреба | ||
Text { | |||
font.pixelSize: style.textSize | |||
color: style.textColor | |||
text: "Hello World" | |||
}</code> | |||
== Подход 3: Хибриден (Style обект + собствен компонент ) == | == Подход 3: Хибриден (Style обект + собствен компонент ) == | ||
Line 27: | Line 51: | ||
При този подход, имаме '''Style''' обект, който се използва в нашият компонент. | При този подход, имаме '''Style''' обект, който се използва в нашият компонент. | ||
<code>// Style.qml | <code>// Style.qml | ||
QtObject { | |||
property int titleAlignment: Text.AlignHCenter | |||
property int titleFontSize: 50 | |||
property color titleColor: "green" | |||
} | |||
// главен компонент | // главен компонент | ||
Rectangle { | |||
… | |||
Style { id: style } | |||
… | |||
} | |||
// TitleText.qml | // TitleText.qml | ||
Text { | |||
horizontalAlignment: style.titleAlignment | |||
font.pixelSize: style.titleFontSize | |||
color: style.titleColor | |||
} | |||
// употреба | // употреба | ||
TitleText { | |||
text: "Title 1" | |||
}</code> |
Latest revision as of 12:27, 17 April 2015
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Български English Spanish Italian Magyar French
Създаване на стилове в QML
QML предоставя няколко механизъма за стилизиране на потребителския интерфейс. Представяме ви три често срещани подхода.
Подход 1: Собствен компонент
QML поддържа дефинирането на собствени компоненти. По-долу, ние създаваме собственият компонент TitleText, който можем после да използваме в нашата програма, когато искаме заглавен текст. Ако изкаме да променим външният вид на всички заглавни текстове в нашият интерфейс, можем просто да редактираме TitleText.qml и промените ще се отразят навсякъде, където е използван.
// TitleText.qml
Text {
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 50
color: "green"
}
// употреба
TitleText {
text: "Title 1"
}
Подход 2: Допълнителен обект
При този подход, дефинираме Style обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение.
// Style.qml
QtObject {
property int textSize: 20
property color textColor: "green"
}
// главен компонент
Rectangle {
…
Style { id: style }
…
}
// употреба
Text {
font.pixelSize: style.textSize
color: style.textColor
text: "Hello World"
}
Подход 3: Хибриден (Style обект + собствен компонент )
При този подход, имаме Style обект, който се използва в нашият компонент.
// Style.qml
QtObject {
property int titleAlignment: Text.AlignHCenter
property int titleFontSize: 50
property color titleColor: "green"
}
// главен компонент
Rectangle {
…
Style { id: style }
…
}
// TitleText.qml
Text {
horizontalAlignment: style.titleAlignment
font.pixelSize: style.titleFontSize
color: style.titleColor
}
// употреба
TitleText {
text: "Title 1"
}