به نام خدا
چرا QML ؟
اول این موضوع رو بگم که QML در واقع یه زبان برنامه نویسی اسکریپتی است که در دل موضوعی به نام Qt Declarative قرار گرفته . ساختن محیط های کاربر پسند و محیط های زیبا که شامل انواع مولفه های زیبایی مثل انیمیشن و ... باشه با کلاس های فعلی ( جدای از QML ) در کیوتی میسر است ولی باید مراحل زیادی رو برای اونا طی کنید تا نتیجه های دلخواه برسین . اما QML یه زبان سطح بالا برای طراحی محیط برنامه شما است . به راحتی با اون میتونید محیط های بسیار زیبا در کیوتی طراحی کنید . در ضمن امکان ارتباط با سی پلاس پلاس هم هست یعنی شما به راحتی میتونید یه برنامه کامل داشته باشید.
خوب بهتره یه پروژه خیلی ساده با کیوتی QML شروع کنیم . Hello World.
Hello World In QML
خوب اولین کاری که باید انجام داد ساختن یه پروژه برای انجام کار دلخواهتون مثل قبل هست . برای این کار در محیط کریتور ctrl+n رو بزنید و از other application گزینه QML Applicatioin رو انتخاب کنید. درضمن ممکنه این گزینه در شاخه های دیگه باشه . احتمالا هیچ کار دیگه ای هم نیاز نیست انجام بدین و همین کافیه ! کد زیر براتون ایجاد میشه
import Qt 4.7
Rectangle { width: 200
height: 200
Text {
x: 66
y: 93
text: "Hello World"
}
}
حال کافیه که ctrl+r رو بزنید تا کدتون اجر بشه و یه hello world ساده بهتون نمایش داده بشه.دستور اول چیزی شبیه به Include هستش . خیلی ساده برای داشتن حد اقل امکانات باید این خط رو ابتدای برنامه تون بنویسید.
در QML ما با ماهیتی به نام element ها یا ریزه ها ! روبرو هستیم . این ریزه ها در واقع ساده ترین بخش های برنامه شما هستند. مثلا در بالا شما element مستطیل رو میبینید . برای رسم یه مستطیل در ک م ل شما از المان Rectangle استفاده میکنید. المان های دیگه هم داریم که به مرور با هم بررسی میکنیم.
هر المانی در ک م ل چندین مشخصه یا property داره که برای مشخص کردن مقدار شون از قانون property : value استفاده میکنیم. مثلا ما برای این مستطیل عرض و ارتفاع 200 رو تعیین کردیم .
المان ها میتونن تو در تو باشن . و یه المان چندین فرزند داشته باشه مثلا در اینجا مستطیل ما یه المان دیگه داره . بله المان Text المان دیگه ای که اینجا میبینیم و برای نمایش یه متن ایستا به کاربر هستش یه چیزی مثل QLabel . اما فرقی که کرد اینه که این المان در یه المان دیگه رفته . خوب تو کیوتی هم که خانواده نقش مهمی رو بازی میکنه این متن فرزند مستطیل یه مرحله قبلش ( از نظر بیرون رفتگی ) شد . اینجا هم مفهومی به نام فرزندی و پدری هست . المان Text هم ویژگی ای به نام text داره برای تعیین متن اون. در ضمن مختصات یه نقطه فرزند نسبت به پدرش سنجیده میشه یعنی نقطه صفر و صفر فرزند نقطه x , y پدر هستش.
فعلا خسته نباشید