Български | English

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

Да НЕ правим

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

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

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

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

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

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

В този случай, можете да използвате:

  1. anchors.centerIn: parent

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

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

Вижте също

Categories: