QML Styling/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
'''Български''' [[QmlStyling|English]] [[QmlStyling Spanish|Spanish]] [[QmlStyling Italian|Italian]] [[QmlStyling Hungarian|Magyar]] [http://qt-devnet.developpez.com/tutoriels/qt-quick/qml/style/ French] ''[qt-devnet.developpez.com]''<br />
'''Български''' [[QmlStyling|English]] [[QmlStyling_Spanish|Spanish]] [[QmlStyling_Italian|Italian]] [[QmlStyling_Hungarian|Magyar]] &quot;French&amp;quot;:http://qt-devnet.developpez.com/tutoriels/qt-quick/qml/style/<br />[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]


=Създаване на стилове в <span class="caps">QML</span>=
= Създаване на стилове в QML =


<span class="caps">QML</span> предоставя няколко механизъма за стилизиране на потребителския интерфейс. Представяме ви три често срещани подхода.
QML предоставя няколко механизъма за стилизиране на потребителския интерфейс. Представяме ви три често срещани подхода.


==Подход 1: Собствен компонент==
== Подход 1: Собствен компонент ==


<span class="caps">QML</span> поддържа дефинирането на [http://doc.qt.nokia.com/4.7/qml-extending-types.html#defining-new-components собствени компоненти] ''[doc.qt.nokia.com]''. По-долу, ние създаваме собственият компонент '''TitleText''', който можем после да използваме в нашата програма, когато искаме заглавен текст. Ако изкаме да променим външният вид на всички заглавни текстове в нашият интерфейс, можем просто да редактираме ''TitleText.qml'' и промените ще се отразят навсякъде, където е използван.
QML поддържа дефинирането на &quot;собствени компоненти&amp;quot;:http://doc.qt.nokia.com/4.7/qml-extending-types.html#defining-new-components. По-долу, ние създаваме собственият компонент '''TitleText''', който можем после да използваме в нашата програма, когато искаме заглавен текст. Ако изкаме да променим външният вид на всички заглавни текстове в нашият интерфейс, можем просто да редактираме ''TitleText.qml'' и промените ще се отразят навсякъде, където е използван.


==Подход 2: Допълнителен обект==
<code>// TitleText.qml<br />Text {<br /> horizontalAlignment: Text.AlignHCenter<br /> font.pixelSize: 50<br /> color: &quot;green&amp;quot;<br />}
 
// употреба<br />TitleText {<br /> text: &quot;Title 1&amp;quot;<br />}</code>
 
== Подход 2: Допълнителен обект ==


При този подход, дефинираме '''Style''' обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение.
При този подход, дефинираме '''Style''' обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение.


==Подход 3: Хибриден (Style обект + собствен компонент )==
<code>// Style.qml<br />QtObject {<br /> property int textSize: 20<br /> property color textColor: &quot;green&amp;quot;<br />}
 
// главен компонент<br />Rectangle {<br /> …<br /> Style { id: style }<br /> …<br />}
 
// употреба<br />Text {<br /> font.pixelSize: style.textSize<br /> color: style.textColor<br /> text: &quot;Hello World&amp;quot;<br />}</code>
 
== Подход 3: Хибриден (Style обект + собствен компонент ) ==


При този подход, имаме '''Style''' обект, който се използва в нашият компонент.
При този подход, имаме '''Style''' обект, който се използва в нашият компонент.


===Categories:===
<code>// Style.qml<br />QtObject {<br /> property int titleAlignment: Text.AlignHCenter<br /> property int titleFontSize: 50<br /> property color titleColor: &quot;green&amp;quot;<br />}
 
// главен компонент<br />Rectangle {<br /> …<br /> Style { id: style }<br /> …<br />}
 
// TitleText.qml<br />Text {<br /> horizontalAlignment: style.titleAlignment<br /> font.pixelSize: style.titleFontSize<br /> color: style.titleColor<br />}


* [[:Category:Developing with Qt|Developing_with_Qt]]
// употреба<br />TitleText {<br /> text: &quot;Title 1&amp;quot;<br />}</code>
** [[:Category:Developing with Qt::Qt-Quick|Qt Quick]]

Revision as of 06:30, 24 February 2015

Български English Spanish Italian Magyar "French&quot;:http://qt-devnet.developpez.com/tutoriels/qt-quick/qml/style/
[toc align_right="yes&quot; depth="3&quot;]

Създаване на стилове в QML

QML предоставя няколко механизъма за стилизиране на потребителския интерфейс. Представяме ви три често срещани подхода.

Подход 1: Собствен компонент

QML поддържа дефинирането на "собствени компоненти&quot;:http://doc.qt.nokia.com/4.7/qml-extending-types.html#defining-new-components. По-долу, ние създаваме собственият компонент TitleText, който можем после да използваме в нашата програма, когато искаме заглавен текст. Ако изкаме да променим външният вид на всички заглавни текстове в нашият интерфейс, можем просто да редактираме TitleText.qml и промените ще се отразят навсякъде, където е използван.

// TitleText.qml<br />Text {<br /> horizontalAlignment: Text.AlignHCenter<br /> font.pixelSize: 50<br /> color: &quot;green&amp;quot;<br />}

// употреба<br />TitleText {<br /> text: &quot;Title 1&amp;quot;<br />}

Подход 2: Допълнителен обект

При този подход, дефинираме Style обект, който съдържа колекцията от свойства, дефиниращи стила. Този обект е инстанциран в главният компонент, така че да е видим в цялото приложение.

// Style.qml<br />QtObject {<br /> property int textSize: 20<br /> property color textColor: &quot;green&amp;quot;<br />}

// главен компонент<br />Rectangle {<br /> …<br /> Style { id: style }<br /> …<br />}

// употреба<br />Text {<br /> font.pixelSize: style.textSize<br /> color: style.textColor<br /> text: &quot;Hello World&amp;quot;<br />}

Подход 3: Хибриден (Style обект + собствен компонент )

При този подход, имаме Style обект, който се използва в нашият компонент.

// Style.qml<br />QtObject {<br /> property int titleAlignment: Text.AlignHCenter<br /> property int titleFontSize: 50<br /> property color titleColor: &quot;green&amp;quot;<br />}

// главен компонент<br />Rectangle {<br /> …<br /> Style { id: style }<br /> …<br />}

// TitleText.qml<br />Text {<br /> horizontalAlignment: style.titleAlignment<br /> font.pixelSize: style.titleFontSize<br /> color: style.titleColor<br />}

// употреба<br />TitleText {<br /> text: &quot;Title 1&amp;quot;<br />}