PDA

View Full Version : آموزش: آموزش QML



.:saeed:.
پنج شنبه 14 بهمن 1389, 20:59 عصر
سلام دوستان عزیزم.
از امروز قصد دارم علاوه بر آموزش خود کیوتی به آموزش QML (Qt Meta-Object Language هم بپردازیم . QML یه زبان بر پایه جاوا اسکریپت هستش که کارطراحی user interface رو لذت بخش و راحت و انعطاف پذیر تر میکنه.اینکه user interface ما چه شکلی باشه و چکار بکنه. یکی از ویژگی های جذابش اینکه هسته برنامه رو از واسط کاربری اون جدا میکنه .
هدف اصلی از استفاده اش طراحی واسط های کاربری برای موبایل هستش. ولی خوب برای Pc هم قابل استفاده هست . بهتون قول میدم از برنامه نویسی QML هم مثل Qt Programming لذت ببرین. خوب به زودی منتظر آموزش ها باشید . اگه نظری هم داری در ابتدای شروع بحث عنوان کنید . پیشنهادات و انتقادات شما آرزوی ماست

.:saeed:.
پنج شنبه 14 بهمن 1389, 21:03 عصر
اینم تصاویری از کارهایی با QML . برای ترغیب اذهان عمومی



http://doc.qt.nokia.com/4.7-snapshot/images/qml-calculator-example-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-flickr-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-minehunt-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-photoviewer-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-rssnews-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-samegame-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-snake-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-twitter-demo-small.png

http://doc.qt.nokia.com/4.7-snapshot/images/qml-webbrowser-demo-small.png

.:saeed:.
سه شنبه 19 بهمن 1389, 15:11 عصر
به نام خدا

چرا 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 پدر هستش.
فعلا خسته نباشید

m.soleimani
سه شنبه 19 بهمن 1389, 16:32 عصر
یه چیزی تو مایه‌های WPF تو سی‌شارپ قراره بشه دیگه درسته؟

حامد مصافی
سه شنبه 19 بهمن 1389, 17:59 عصر
یه چیزی تو مایه‌های WPF تو سی‌شارپ قراره بشه دیگه درسته؟
بله، تقریبا

glassysmart
سه شنبه 19 بهمن 1389, 22:58 عصر
سلام
ممنون از این آموزش
اگه یه لیست از چیز هایی که قرار بیان شوند را بیان کنید بقیه دوستان هم می توانند کمک کنند

.:saeed:.
چهارشنبه 20 بهمن 1389, 09:37 صبح
سلام
میخواهیم از مقدمات بریم به سمت جلو . مثلا نحوه کشیدن المان ها ، نحوه نسبت دادن رنگ و gradient به هر المان . انمیشین دار کردن ایتم ها . state machine و ... تا برسیم به نحوه integrate با سی پلاس پلاس . اگه کسی قصد شرکت داره آموزش بعدی رو متناسب با قبلی بذاره یا قبلش به هر روشی یه هماهنگی بامن بکنه ( ایمیل یا پیام خصوصی ). پیشاپیش از همکاری ها ممنون

.:saeed:.
پنج شنبه 28 بهمن 1389, 11:25 صبح
سلام باز هم این ترم های دانشگاهی شروع شد و سر همه دوستان شلوغ
خوب با توجه به مشکلاتی که برای درج آموزش مستقیم ( یعنی همه چی همینجا قرار داده بشه ) مثل مشکلات آپلود عکس ها ،هایلات کدها و ... دوباره من برگشتم سر خونه اول که آموزش ها به صورت pdf باشه . برای همین منظور یک pdf ده صفحه ای در مورد کلیه مقدمات کیو ام ال آماده کردم ( البته خداییش براش خیلی زحمت کشیدم یه نگاهی بیندازید متوجه میشید ) که از لحاظ کیفی به نظرم خوب باشه


66476

r00tkit
پنج شنبه 28 بهمن 1389, 11:38 صبح
سعید اقا شما کار خیلی خوبی انجام می دین ولی این نکته رو داشته باشید که چیز هایی که می نویسی یه تازه کار در حد زیر 5 دقیقه می تونه با نگاه کردن به Qt Assistan یا یه وبلاگی یاد بگیره

و بهتره فقط اینجا اموزش باشه

.:saeed:.
پنج شنبه 28 بهمن 1389, 11:46 صبح
شما اصلا به فایل نگاه انداختین یا همین جوری فرمودین . قبول دارم که Assistant کامله ولی آیا به نظرتون در مورد کیو ام ال هم که یه موضوع جدیدیه همین طوره . اگه جوابتون بله است خوب باید بگم که با سازندگان نظرتون تضاد داره . اگه میشه منظورتون رو واضح تر بگین.

ghasem.fattahpour
پنج شنبه 10 فروردین 1391, 17:50 عصر
وقعا خیلی عالی بود.

complexcoding
یک شنبه 10 اردیبهشت 1391, 16:03 عصر
دوستان منظورتون از Qt Assistan همون نرم افزار کیوت هست که توش برنامه می سازیم دیگه؟ یا یه نرم افزار جداست؟

حامد مصافی
یک شنبه 10 اردیبهشت 1391, 22:09 عصر
خیر، Qt Assistant نرم‌افزار مرور راهنمای کیوت است.

AlgorithmX
چهارشنبه 01 آذر 1391, 22:37 عصر
پست بسته شد؟!! یا قصد ادامه دارید؟!! .. 67 ماه گذشته هاااا :متفکر:

sanaderi
پنج شنبه 10 اسفند 1391, 15:16 عصر
سلام دوستان و طرفداران کیوت می توانید به پروژه کیوت فارسی بپیوندید.
qt-project.ir (http://qt-project.ir)
منتظر نظرات انتقادات وپیشنهادات شما هستیم...