Qt Quick Donts Bulgarian/bg: Difference between revisions
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= | [toc align_right="yes" depth="3"] | ||
'''Български''' | [[Qt_Quick_Donts|English]] | '''Български''' | [[Qt_Quick_Donts|English]] | ||
Line 15: | Line 15: | ||
Друго предимство на това да имате динамични размери е, че ако по-късно решите да промените размерите, позицията и размерите на всички елементи ще се променят автоматично. Примерът по-долу показва този проблем. | Друго предимство на това да имате динамични размери е, че ако по-късно решите да промените размерите, позицията и размерите на всички елементи ще се променят автоматично. Примерът по-долу показва този проблем. | ||
Когато центрирате елемент: | Когато центрирате елемент: | ||
<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, анимацията няма да работи правилно. | |||
В този случай, можете да използвате: | В този случай, можете да използвате: | ||
<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 се грижи за мултиплатформения код вместо вас, но вие трябва да се погрижите, че приложението ви е пригодено за различни резолюции.
Вижте също