برنامه نویسی در پای ابر

کیو ام ال – قسمت اول

سلام به پای ابری های عزیز ما در این قسمت می خواهیم برنامه نویسی را با زبان کیو ام ال به همراه پایتون آغاز کنیم؛ تمام برنامه های اصلی پای ابر با همین چهاچوب ها توسعه یافته اند.

کیو ام ال چیست؟

کیو ام ال (Qt Quick Markup Language) یک زبان نشانه گذاری بسیار پیشرفته برای طراحی واسط گرافیکی اپلیکیشن ها می باشد؛ در پای کیوت شما می توانید بخش گرافیکی را به طور کامل به کیو ام ال بسپارید و بخش دستوری آن را با پایتون توسعه دهید.

ساختار زبانی

ساختار زبانی کیو ام ال چیزی شبیه به زبان CSS است با این تفاوت که اشیا داخل آن ساخته می شود و امکانات بیشتری دارد:

object {
    property: value
    action: {
        // java script commands
    }
}

عبارت object نام شئ می باشد و در داخل آن property نام یک ویژگی و value مقدار آن می باشد؛ یک شئ ممکن است یک بخش واکشنی داشته باشد به طور مثال کلیک کردن، رها کردن و … که ما نام آن را action می نامیم و بعد دستورات داخل آن با زبان جاوا اسکریپت نوشته می شود.

پیش نیازها

در زبان کیو ام ال یک سری پیش نیازها باید به کدمون اضافه کنیم که به صورت زیر می توانیم آنها را اضافه نماییم:

import library 0.0

به جای library نام پیش نیاز و به جای ۰.۰ نگارش آن را می نویسیم؛ برای ساختن یک پروژه پیش نیازهای ما:

import QtQuick 2.0
import QtQuick.Window 2.3
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.4
import QtQuick.Controls 1.2
import QtQuick.Controls 2.3
import QtQuick.Controls.Styles 1.4
import QtQuick.Controls.Material 2.12

البته اول کار ممکنه خیلی براتون پیچیده به نظر بیاد ولی فعلا لازم نیست همه چی رو حفظ کنید فقط شئ مورد نظر خودتون رو بگذارید و بعد به آن ویژگی دهید؛ در صورت نیاز پیش نیازی آن را به کدهای خود اضافه نمایید.

کامنت گذاری

در صورتی که می خواهید در کدهای کیو ام ال خود کد کامنت گذاری کنید به این روش اقدام کنید:

/* Your comment */
/*
   Your comment
*/

شئ ریشه

همانند دیگر زبان های نشانه گذاری مثل HTML و XML؛ کیو ام ال هم یک شئ اصلی دارد که همه اشیا درون آن تعریف می شوند؛ تمام اشیا در کیو ام ال از پیش تعریف شده هستن اما شما هم می توانید شئ خودتان را بسازید و حتی آن را شئ اصلی قرار دهید.

شئ ApplicationWindow

اولین شئ ای که می خواهیم برسی کنیم یک شئ اصلی است که در حقیقت یک پنجره در برنامه شما می باشد به اسم ApplicationWindow.

پروژه ما در پای ابر
پروژه ما در پای ابر

در شی ApplicationWindow ویژگی هایی وجود دارد نظیر ویژگی title که متن بالای پنجره می باشد یا ویژگی color که رنگ را تغییر می دهد؛ حالا ما می خواهیم دقیق تر ویژگی ها را برسی نماییم.

کد کلی پروژه:

ApplicationWindow {
    id: hello
    visible: true
    color: "white"
    title: "Hello World"
}

ویژگی id

این ویژگی شناسه شئ را تعیین می کند و با حرف لاتین مقدار دهی می شود؛ همچنین نباید با حرف لاتین بزرگ شروع شود:

id: hello

این ویژگی برای صدا زدن شئ در اشیا دیگر مورد استفاده قرار می گیرد مثلا شما می خواهید در صورت کلیک روی یک دکمه رنگ صفحه تغییر کند پس باید از نام hello برای تعییر رنگ استفاده نمایید.

ویژگی objectName

این ویژگی درست شبیه به شناسه است با این تفاوت که شما می توانید شئ را در کد پایتون صدا بزنید و به صورت زیر تعریف می شود:

objectName: "hello"

نام شئ باید به یک رشته نوشته شود و در “” باشد.

ویژگی title

این ویژگی برای تعیین متن بالای پنجره می باشد مثلا می خواهیم متن بالای پنجره عبارت «Hi» داشته باشد:

title: "Hi"
خروجی پروژه
خروجی پروژه

ویژگی color

با این ویژگی می توانید رنگ پنجره را تغییر دهید به طور مثال می خواهیم رنگ پنجره بفنش شود پس عبارت انگلیسی purple یا کد رنگ مخصوص آن را وارد می کنیم:

color: "purple"
خروجی پروژه
خروجی پروژه

ویژگی های width و height

شما با این دو ویژگی به راحتی می توانید عرض و ارتفاع پنجره را بر حسب پیکسل تنظیم نمایید:

width: 500
height: 200
خروجی برنامه
خروجی برنامه

ویژگی های maxWidth و maxHeight

در صورتی که می خواهید پنجره شما حداکثر در عرض و ارتفاع معینی بزرگ شوند از این ویژگی ها می توانید استفاده نمایید و نحوه استفاده از آنها دقیقا همانند width و height می باشد و به صورت عددی مقدار می گیرند.

ویژگی های minWidth و minHeight

با این دو ویژگی می توانید میزان حداقل کوچک شدن عرض و ارتفاع پنجره را تنظیم نمایید؛ در صورتی که مقدار اینها با maxHeight و maxWidth برابر باشد پنجره غیرقابل تغییر خواهد شد یعنی نه می توانید آن را کوچک کنید نه می توانید آن را بزرگ نمایید.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.