Qt Quick Donts Bulgarian/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
[[Category:Developing_with_Qt::Qt Quick]]
[[Category:Developing_with_Qt::Qt Quick]]


[toc align_right="yes" depth="3"]
[toc align_right="yes" depth="3"]


'''Български''' | [[Qt_Quick_Donts|English]]
'''Български''' | [[Qt_Quick_Donts|English]]
Line 15: Line 15:
Друго предимство на това да имате динамични размери е, че ако по-късно решите да промените размерите, позицията и размерите на всички елементи ще се променят автоматично. Примерът по-долу показва този проблем.
Друго предимство на това да имате динамични размери е, че ако по-късно решите да промените размерите, позицията и размерите на всички елементи ще се променят автоматично. Примерът по-долу показва този проблем.


Когато центрирате елемент:<br /><code><br />Item {<br /> width: 200; height: 200 //&amp;lt;— Най-външният елемент се преоразмерява до размера на QMLViewer<br /> Rectangle {<br /> x: 50; y: 50 //&amp;lt;— НЕ ГО ПРАВЕТЕ<br /> width: 100; height: 100 //&amp;lt;— НЕ ГО ПРАВЕТЕ<br /> color: &quot;red&amp;quot;<br /> // По-късно решавате да добавите анимация:<br /> Behavior on width { NumberAnimation { duration: 500 } }<br /> MouseArea {<br /> anchors.fill: parent<br /> onPressed: parent.width = 150;<br /> }<br /> }<br />}<br /></code><br />Горният пример вече няма да е центриран, когато се натисне на правоъгълника. Ако сложите 'x' на 25, анимацията няма да работи правилно.
Когато центрирате елемент:
<code>
Item {
width: 200; height: 200 //<— Най-външният елемент се преоразмерява до размера на QMLViewer
Rectangle {
x: 50; y: 50 //<— НЕ ГО ПРАВЕТЕ
width: 100; height: 100 //<— НЕ ГО ПРАВЕТЕ
color: "red"
// По-късно решавате да добавите анимация:
Behavior on width { NumberAnimation { duration: 500 } }
MouseArea {
anchors.fill: parent
onPressed: parent.width = 150;
}
}
}
</code>
Горният пример вече няма да е центриран, когато се натисне на правоъгълника. Ако сложите 'x' на 25, анимацията няма да работи правилно.


В този случай, можете да използвате:<br /><code>anchors.centerIn: parent<code><br />на линия 4. Това ще изчисли центъра вместо вас и ще ви спесити главоболия, когато променяте ширинат и височината в бъдеще.
В този случай, можете да използвате:
<code>anchors.centerIn: parent<code>
на линия 4. Това ще изчисли центъра вместо вас и ще ви спесити главоболия, когато променяте ширинат и височината в бъдеще.


Qt Quick се грижи за мултиплатформения код вместо вас, но вие трябва да се погрижите, че приложението ви е пригодено за различни резолюции.
Qt Quick се грижи за мултиплатформения код вместо вас, но вие трябва да се погрижите, че приложението ви е пригодено за различни резолюции.


=== Вижте също ===
=== Вижте също ===

Revision as of 13:01, 25 February 2015


[toc align_right="yes" depth="3"]

Български | English

Тази статия съветва какво да не правите или какво е желателно да не правите, докато разрапотвате прилжоения с Qt Quick. Съветите са създадени от разработчици, които са правили или са виждали тези чести грешки по време на работа. Моля, добавяйте вашите препоръки и помогнете на тази страница да се разрастне.

Да НЕ правим

Фиксирани размери и позиции

Тъй като Qt Quick може да работи на много видове устройства с различни резолюции, трябва приложението ви да се преоразмерява лесно. Дори и да се спрете само на резолюцията за дадена платформа (пр. 640x360 за Симбиян), в бъдеще може устройства с нея да бъдат пуснати с друга резолюция или да се наложи да поддържате друга платформа (пр 800x600 за Маемо 5 за N900).

Друго предимство на това да имате динамични размери е, че ако по-късно решите да промените размерите, позицията и размерите на всички елементи ще се променят автоматично. Примерът по-долу показва този проблем.

Когато центрирате елемент:

Item {
 width: 200; height: 200 //<— Най-външният елемент се преоразмерява до размера на QMLViewer
 Rectangle {
 x: 50; y: 50 //<— НЕ ГО ПРАВЕТЕ
 width: 100; height: 100 //<— НЕ ГО ПРАВЕТЕ
 color: "red"
 // По-късно решавате да добавите анимация:
 Behavior on width { NumberAnimation { duration: 500 } }
 MouseArea {
 anchors.fill: parent
 onPressed: parent.width = 150;
 }
 }
}

Горният пример вече няма да е центриран, когато се натисне на правоъгълника. Ако сложите 'x' на 25, анимацията няма да работи правилно.

В този случай, можете да използвате: anchors.centerIn: parent на линия 4. Това ще изчисли центъра вместо вас и ще ви спесити главоболия, когато променяте ширинат и височината в бъдеще.

Qt Quick се грижи за мултиплатформения код вместо вас, но вие трябва да се погрижите, че приложението ви е пригодено за различни резолюции.

Вижте също