نمایش نتایج 1 تا 34 از 34

نام تاپیک: نحوه ایجاد رابط کاربری مدرن توسط QML در C++‎‎

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Red face نحوه ایجاد رابط کاربری مدرن توسط QML در C++‎‎

    سلام

    خیلی وقته به فکر این بودم یک سری موارد رو برای QML معرفی کنم یا یجورایی ملت رو با توانایی ها و کیفیت QML آشنا کنم چون راستشو بخوایید تا به طرفش نریم و باهاش کار نکنیم اصلا نمیفهمیم تا چه حدی ظاهر برنامه ها رو با QML میشه توسعه داد.

    شاید یکی از دلایلی که باعث میشه خیلی ها سراغ C++‎‎‎‎‎‎‎ نروند سخت بودن پیاده سازی رابط های گرافیکی هستش که بر اساس تجربه شخصی میتونم بگم این به سختی زبان بر نمیگرده به تنبلی و عدم شناخت کافیه برنامه نویس بر میگرده چرا که یا کمی پشت کار کتابخانه ای مثل Qt رو پیدا میکنه حال توسط معرفیه یکی از نمونه های QML نشون میدم که چطور سختی C++‎‎‎‎‎‎‎ براتون جذابیت پیدا خواهد کرد ! در نتیجه هر چیز سختی نتیجه خارق العاده ای رو خواهد داشت.

    برای اینکه روشن بشید و قبول کنید که طراحی رابط کاربری با QML خیلی فراتر از HTML5 و CSS3 هستش هرچند اینهارم پشتیبانی میکنه در خودش ولی در کل استایل نویسی توسط QML خیلی جذابیت و قدرت خاص خودش رو داره که عمرا تو WPF یا فناوری های دات نتی بشه همچین چیزی رو به سادگی خلق کرد.

    خیلی ساده در یک جمله معرفیش میکنم QML یک زبان برنامه نویسی برای طراحی رابط گرافیکی هستش که بر پایه JavaScript ارائه شده و برای طراحی رابط کاربری توسط C++‎‎‎‎‎‎‎ پشتیبانی میشه در کل هدفش اینه که سرعت بده به طراحی و حل کنه مشکلات برنامه نویس بدبخت رو در لایه UI برای مثال توسط QML ظاهر برنامه رو طراحی کرده و سپس توسط C++‎‎‎‎‎‎‎ کلاس ها و توابعتون رو پیاده سازی کنید کلی وقت آزاد میشه و کاملا معماری چند لایه رعایت خواهد شد.

    کیفیت و سرعت QML خیلی بهتر از Widget هستش یکم اولش سخته ولی اگه میخواهید برنامه های زیبا و جذابی رو طراحی کنید که هیچ چیزی به گرد پاشم نرسه از همین QML استفاده کنید که خارق العادست.
    نکته : اگر تجربه کار با JavaScrip و HTML , CSS رو داشته باشید QML رو بهتر درک خواهید کرد که چطور به کمک C++‎‎‎‎‎‎‎ میاد دقیقا مثل JavaScript و HTML که به کمک PHP میروند.

    بنابراین میرم برای معرفی اولین استایل که بعد ها موارد بهتر و بیشتری رو هم معرفی خواهیم کرد و امیدوارم مدیران عزیز هم از معرفی طرح های جذاب در این زمینه دریغ نکنند که بزرگترین سوال برای مبتدیان نحوه طراحی ظاهر در C++‎‎‎‎‎‎‎ هستش.

    احتمالا میدونید که ظاهر کاربری Android 5.X بسیار بهتر از قبل و دلنشینتر شده و این طوریه که گوگل اومده یک سری متد و طرح های جالبی رو عرضه کرده با عنوان Material design که ما این طراحی و سبک کاملا دلنشین و آرام بخش هستش حداقل که برای شخصه من اینطور بوده لینک در رابطه با Material design : https://www.google.com/design/spec/m...roduction.html

    تصاویری از کنترل های خلاقانه توسط Material Design برای C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎ که تقریبا از کنترل های پر کاربرد عکس گرفتم بقیش رو هم در پوشه demo خواهید دید.

    ProgressBarDemo.png
    SwitchDemo.png
    SliderDemo.png
    ButtonDemo.png
    TimePickerDemo.png
    BottomSheetDemo.png
    TextFieldDemo.png
    CheckBoxDemo.png
    DatePickerDemo.png
    ColorPaletteDemo.jpg

    برای استفاده از این Material لینک GitHub رو بررسی کنید : https://github.com/papyros/qml-material
    همه چیز خیلی ساده هستش کافیه طبق آموزش ابتدا qml-material.pro رو کامپایل کنید و برای اینکه بتونید از این Material ها در طراحی های خودتون استفاده کنید توضیحاتی داده ولی شاید گنگ باشه برای همین به صورت زیر یه توضیحی میدم تا انشالله به نتیجه برسید.



    1. وارد پوشه Module در پروژه ای بشید که از GitHub دانلود میکنید که داخلش دو تا پوشه Material و QtQuick وجود داره اینارو باید کپی کنید در آدرس های فوق بر اساس نوع کامپایلرتون :


    • C:\Qt\Qt5.5.0-MSVC-x64\5.5\msvc2013_64\qml
    • C:\Qt\Qt5.5.0-Mingw\5.5\mingw492_32\qml
    • C:\Qt\Qt5.5.0\5.5\msvc2013\qml
    • و برای اندروید : C:\Qt\Qt5.5.0-Android\5.5\android_armv7\qml

    خب تقریبا مسیر ها یکی هستن یعنی داخل پوشه qml طبق چیزی که میبینید.

    بعدش کافیه یک پروژه ی جدیدی ایجاد کنید از نوع QML Application کدتون معمولا به صورت زیر خواهد بود :


    importQtQuick2.4importQtQuick.Window2.2
    Window {
    visible:true
    }


    حالا من این میخوام از استایل Button که Material Design هستش استفاده کنم کافیه ماژول Material رو وارد فایل کنم به صورت زیر :


    import Material 0.1


    و یه کدی که شامل چند نمونه Button هستش به صورت زیر :


    import QtQuick 2.4
    import QtQuick.Window 2.2
    import Material 0.1




    Window {
    visible: true




    Item {


    anchors.centerIn: parent
    anchors.fill: parent


    Column {
    anchors.centerIn: parent
    spacing: Units.dp(20)


    Button {
    text: "Simple Button"
    anchors.horizontalCenter: parent.horizontalCenter
    onClicked: snackbar.open("Simple, isn't it?")
    }


    Button {
    text: "Raised Button"
    elevation: 1
    anchors.horizontalCenter: parent.horizontalCenter
    onClicked: snackbar.open("This is a snackbar")
    }


    Button {
    text: "Disabled Raised Button"
    elevation: 1
    enabled: false
    anchors.horizontalCenter: parent.horizontalCenter
    }


    Button {
    text: "Wide Button"


    width: Units.dp(200)
    elevation: 1
    anchors.horizontalCenter: parent.horizontalCenter


    onClicked: snackbar.open("That button is wide, and so is this snackbar!")
    }


    Button {
    id: focusableButton
    text: "Focusable with really long text"
    elevation: 1
    activeFocusOnPress: true
    anchors.horizontalCenter: parent.horizontalCenter


    onClicked: snackbar.open("The text is really very very very very very long and now it needs to wrap, so this should show as two lines!")
    }


    Button {
    text: "Colored button"
    textColor: Theme.accentColor
    anchors.horizontalCenter: parent.horizontalCenter


    onClicked: snackbar.open("That button is colored!")
    }


    Button {
    text: "Focusable button #2"
    elevation: 1
    activeFocusOnPress: true
    backgroundColor: Theme.primaryColor
    anchors.horizontalCenter: parent.horizontalCenter


    onClicked: snackbar.open("That button is colored!")
    }
    }


    ActionButton {
    anchors {
    right: parent.right
    bottom: snackbar.top
    margins: Units.dp(32)
    }


    iconName: "content/add"
    }


    Snackbar {
    id: snackbar
    }
    }




    }




    خیلی ترو تمیز به همین راحتی...
    برای ادامه نمونه استایل هاش نیازی نیست همرو اینجا آموزش بدم چون همشون تو پوشه demo موجود هستش ازشون استفاده کنید و لذتشو ببرید.
    ادامه‌ی آموزش‌ها در این بخش
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 17 تیر 1397 در 15:56 عصر

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: شنبه 08 فروردین 1394, 14:09 عصر
  2. گفتگو: گفتگو در مورد نحوه ایجاد پنل کاربری !
    نوشته شده توسط siavashsay در بخش PHP
    پاسخ: 28
    آخرین پست: شنبه 25 خرداد 1392, 11:42 صبح
  3. راهنمایی برای ایجاد رابط کاربری مشابه IE 9
    نوشته شده توسط NitroPlus در بخش VB.NET
    پاسخ: 7
    آخرین پست: جمعه 12 خرداد 1391, 02:15 صبح
  4. سوال: نحوه ایجاد دیتا بیس جدید توسط vb6
    نوشته شده توسط conter در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 20
    آخرین پست: دوشنبه 24 مرداد 1390, 00:58 صبح
  5. نحوه ایجاد پرسجوی پارامتری توسط
    نوشته شده توسط moustafa در بخش SQL Server
    پاسخ: 2
    آخرین پست: شنبه 15 بهمن 1384, 14:26 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •