Qt Quick Donts Bulgarian/bg

From Qt Wiki
Jump to: navigation, search
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

Тази статия съветва какво да не правите или какво е желателно да не правите, докато разрапотвате прилжоения с 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<code> на линия 4. Това ще изчисли центъра вместо вас и ще ви спесити главоболия, когато променяте ширинат и височината в бъдеще.

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

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