جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'کیوت کوئیک'.
8 نتیجه پیدا شد
-
نگارش ۱.۳.۸
دنیای خود را چگونه با کیوت بسازیم!؟ با توجه به توسعهٔ روزافزون فناوری، دنیای نرمافزاری همگام با آن با سرعت بسیار زیادی در حال پیشرفت و توسعه است. ما برای رسیدن به این مسیر باید به فکر تولید و توسعهٔ محصول با کیفیت همراه با اقدامات کلیدی باشیم تا این محصول هماهنگ با استانداردهای جهانی باشد. برای این امر نیاز است تا این استانداردها را بررسی و در درون پروژههای خود مورد استفاده قرار دهیم. کیوت به عنوان یک چهارچوب قدرتمند یکی از بهترین و پیشتازترین ابزارهای موجود در دنیای برنامهنویسی است که با تمرکز بر روی مباحث تولید محصولی اساساً بر پایهٔ تجربهکاربری و رابطکاربریِ پیشرفته همراه با پشتیبانی از قدرتمندترین زبان برنامهنویسی، نتیجهای مطلوب را در مسیر توسعهٔ محصول نرمافزاری شما فراهم میکند. توجه داشته باشید برنامهنویسی صرفاً نوشتن کد منطقی و برقراری ارتباط با دادهها و حل مسائل مربوط به آن نیست! علاوه بر حل مشکل، برقراری ارتباط با احساسات کاربر و ایجاد یک تجربه و تعامل خوب بسیار مهم است. باید توجه داشت که زمان، هزینه، سرعت و کیفیت همه باهم مهم هستند و برای به حداکثر رساندن درجه کیفیت هر یک از این مولفهها باید از بهترین روشهای ممکن استفاده کرد که شامل مواردی همچون چند-سکویی، ابری، تجربهکاربری، رابطکاربری، رابطهای برنامهنویسی، کتابخانهها و غیره... میباشند و برای رسیدن به آنها کافی است یک زبان مهم و پایه همراه با چند زبان فرعی و فناوریهای مرتبط با یکدیگر را به عنوان ابزار در اختیار داشته باشیم. آخرین اعتبار تخفیفات ویژه به مناسبتهای اخیر به پایان رسیده است. نکتهٔ بسیار مهم: این کتاب به صورت رسمی در کتابخانهٔ ملی ثبت شده است، بنابراین هرگونه چاپ، تکثیر و به اشتراکگذاری این کتاب پیگیرد قانونی دارد. توجه: دریافت نسخههای بهروزرسانی شده تنها از این صفحه برای کسانی که حداقل یک بار آن را تهیه کردهاند امکانپذیر است. نوع این کتاب الکترونیکی است، بعد از پرداخت میتوانید بر روی دکمهٔ دریافت فایل در همین صفحه کلیک کرده و آن را دریافت نمایید. در صورتی که درگاه پرداختی با مشکل مواجه شده باشد، میتوانید به شماره کارت ۶۱۰۴۳۳۷۸۸۴۵۳۳۳۴۸ (بانک ملت) واریز و آن را به آدرس kambiz.ceo@gmail.com و یا شناسهٔ تلگرامی @Kambiz_Asadzadeh اطلاع دهید تا تأیید شود. در صورتی که از شما اطلاعات آدرس مکانی پرسیده شد، میتوانید آنها را وارد نکنید. * تمامی حقوق مادی و معنوی این کتاب متعلق به مولف و ناشر مولف (کامبیز اسدزاده) میباشد و هرگونه کپی برداری از آن پیگرد قانونی خواهد داشت. توجه : در داشتن هر گونه انتقاد و پیشنهاد در رابطه با این کتاب با آدرس شخصی نویسنده (kambiz.ceo@gmail.com) مکاتبه نمایید. نکته : این کتاب در روزهای خاص ممکن است شامل تخفیف قرار بگیرد. نکته دوم : کسانی که این کتاب را یک بار خریداری میکنند نسخهٔ بهروزرسانی شده آن را به صورت رایگان میتوانند دریافت کنند. برخی از درخواستها در کتاب مقدماتی به صورت زیر بودند: آموزش پیشرفته در رابطه با QML و آشنایی با آن آموزش برقراری ارتباط بین ++C و QML به صورت بکاند و فرانتاند آموزش کار با کنترلها و نحوهٔ سفارشی سازی پروژه آموزش برقراری ارتباط با پایگاه داده و فناوری های مرتبط با آن آموزش نحوهٔ پیکربندی کیتها، کامپایلر و ... آموزش نحوه توسعه برنامه بر روی بسترهای مختلف از جمله اندروید، آیاواس و ... و درخواستهای دیگر... بنابراین بر اساس این درخواستها و محتوایی که نیاز می باشد بعد از جلد مقدماتی با آنها آشنا باشید را در این نسخه فراهم کرده ایم. نکته از نظر من در رابطه با محتوا: کتابخانه کیوت شامل مباحث بسیار زیادی است که میتوان از هزاران صفحه محتوای آموزشی تولید کرد. اما در این محتوای آموزشی من تنها به مواردی اشاره کردهام که لازمهٔ کار هستند و در پروژهها میبایست اطلاعات لازم در رابطه با آنها داشته باشید. سرفصل ها و محتوا چه چیزهایی هستند؟ محتوای کتاب طبق آخرین استاندارد کتابخانه بر پایه نسخه ۵.۸ به بالا میباشد. محتوای آن به نسخه ۵.۹ و حتی ۵.۱۳ بهروزرسانی شده است. همچنین ویژگی های و موارد مهمی که در نسخه ۵.۹ و ۵.۱۰ موجود هستند در این کتاب به آنها اشاره شده است. سر فصلهای نهایی و تایید شده کتاب: فصل اول مقدمه بر زبان ++C برخی از قابلیتها ساختار برنامه در ++C کتابخانهها فرق بین C و ++C ویژگیهای معرفی شده در ++C ویرایشهای ۱۱ ٬ ۱۴ و ۱۷ کامپایلرهای ++C و وضعیت آنها ساختار اسناد ++C در پروژه کاربرد این زبان در کجاست؟ استانداردهای زبان مقدمه کیوت (Qt) معرفی کیوت (Qt) ۵.۹ آشنایی با محیط توسعه، نصب و راه اندازی همراه با پیکربندی کیت (Kit) در آن نصب و راه اندازی محیط Qt پیکربندی کیتها در macOS پیکربندی کیتها در Linux پیکربندی کیتها در Windows معرفی محیط توسعه کیوت کرِیتور (Qt Creator) نسخه 4 پیکربندی و تنظیمات مربوط به ساخت برای پلتفرمهای مختلف معرفی مجوز های Qt و نحوه استفاده از مناسبترین مجوز لوگوهای نشانگر ساخته شده با Qt پشتیبانی از انواع پلتفرمها پشتیبانی از انواع معماری ها شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاه iTunes یا همان (Apple Store) شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاهWindows Store شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاه Google Play شرایط و قوانین اختصاصی برنامه تحت Qt جهت انتشار و پذیرش در فروشگاه های مرتبط فصل دوم معرفی فناوری Qt Quick ویرایش 2 معرفی زبان کیو اِم اِل (QML) ویرایش 2 آشنایی با سبک - سینتَکس (Syntax) زبان QML روش اعلام یا اظهار یک شیء در QML اشیاء فرزند (Child-Object) در QML سبک و روش اعمال اظهار نظر (Comment) در QML صفت های اشیاء در QML پشتیبانی از جاوا اسکریپت (JavaScript) و ترکیب آن با QML روش استفاده از جاوا اسکریپت در سند QML روش های ترکیب ++C و استفاده از آن در سند QML فصل سوم معرفی انواع پروژه ها تحت فناوری کیوت کوئیک (Qt Quick) معرفی پروژه از نوع Qt Widget Application معرفی پروژه از نوع Qt Console Application معرفی پروژه از نوع Qt Quick Application معرفی پروژه از نوع Qt Quick Controls 2 Application معرفی پروژه از نوع Qt Quick Controls Application معرفی پروژه از نوع Qt Quick Canvas 3D Application معرفی پروژه از نوع Qt Quick Labs Controls Application آغاز ایجاد پروژه تحت C++ و Qt Quick ساده ترین برنامه معرفی کلاس QGuiApplication معرفی کلاس QQmlApplicationEngine معرفی کلاس QCoreApplication معرفی تابع exect در پروژه فصل چهارم انواع کنترل ها، منو ها و دیگر آبجکت ها معرفی انواع QML پایه در فناوری Qt Quick نوع date نوع color نوع font نوع matrix4x4 نوع point نوع quaternion نوع rect نوع size نوع vector2d نوع vector3d نوع vector4d معرفی انواع اشیاء QML در فناوری Qt Quick معرفی Accessible معرفی AnchorAnimation معرفی AnchorChanges معرفی AnchorImage معرفی AnimatedSprite معرفی Animation معرفی AnimationController معرفی Animator معرفی Behavior معرفی BorderImage معرفی Contex2D معرفی Canvas معرفی CanvasGradient معرفی CanvasImageData معرفی CanvasPixelArray معرفی CanvasColorAnimation معرفی Column معرفی DoubleValidator معرفی Drag معرفی DragEvent معرفی DropArea معرفی EnterKey معرفی Flickable معرفی Flipable معرفی Flow معرفی FocusScope معرفی FontLoader معرفی FontMeteric معرفی Gradient معرفی GridMesh معرفی GridView معرفی Image معرفی IntValidator معرفی Item معرفی ItemGraResult معرفی KeyEvent معرفی KeyNavigation معرفی Keys معرفی LayoutMirror معرفی ListView معرفی Loader معرفی MouseArea معرفی MouseEvent معرفی MultiPointTouchArea معرفی NumberAnimation معرفی OpacityAnimator معرفی ParallelAnimation معرفی GraphicInfo معرفی ParentAnimation معرفی ParentChange معرفی Path معرفی PathAnimation معرفی PathView معرفی PauseAnimation معرفی PropertyAction معرفی PropertyChanges معرفی Rectangle معرفی RegExpValidator معرفی Repeater معرفی Rotation معرفی RotationAnimation معرفی RotationAnimator معرفی Row معرفی Scale معرفی ScaleAnimator معرفی SecuentialAnimation معرفی ShaderEffect معرفی ShaderEffectSource معرفی Shortcut معرفی SmoothedAnimation معرفی SpringAnimation فصل پنجم معرفی انواع کنترل های 2 Qt Quick Controls کنترل AbstractButton کنترل ApplicationWindow کنترل BusyIndicator کنترل Button کنترل ButtonGroup کنترل CheckBox کنترل CheckDelegate کنترل ComboBox کنترل Container کنترل Control کنترل Dial کنترل Drawer کنترل Frame کنترل GroupBox کنترل ItemDelegate کنترل Label کنترل Menu کنترل MenuItem کنترل Page کنترل PageIndicator کنترل Pane کنترل Popup کنترل ProgressBar کنترل RadioButton کنترل RadioDelegate کنترل RangeSlider کنترل ScrollBar کنترل ScrollIndigator کنترل Slider کنترل SprinBox کنترل StackView کنترل SwipeDelegate کنترل SwipeView کنترل Switch کنترل SwitchDelegate کنترل TabBar کنترل TabButton کنترل TextArea کنترل TextField کنترل ToolBar کنترل ToolButton کنترل ToolTip کنترل Thumbler فصل ششم معرفی Qt Quick Dialog (دیالوگ های انتخاب رنگ، فایل، فونت و پیغام) معرفی Color Dialog معرفی Font Dialog معرفی File Dialog معرفی Message Dialog معرفی Qt Quick Layouts معرفی Column Layout معرفی Grid Layout معرفی Row Layout معرفی Stack Layout معرفی Qt Quick Control Styles (سبک و استایل نویسی کنترل ها – سفارشی سازی) واکنش گرایی و پاسخ دهی محتوای وب در اپلیکیشن با Qt WebEngine محتوای چند رسانه ای در کیوت QMultimedia محتوای چند رسانه ای در کیوت QMultimedia پخش صوت ظبط صدا در فایل پخش ویدیو کار با دوربین فصل هفتم معرفی و پیکربندی کار با بانک اطلاعاتی (دیتابیس) کار با بانک اطلاعاتی و ارتباط آن بین C++ و QML معرفی و کار با XML معرفی و کار با JSON معرفی و کار با QSetting سفارشی سازی فایل .pro پروژه فصل هشتم مقایسه انواع حالت های کامپایل Debug و Release نحوه افزودن دیگر کتابخانه های C++ در محیط Qt Creator و استفاده همراه با کتابخانه Qt فرق بین کامپایل استاتیک و داینامیک نحوه خروجی گرفتن / گسترش (Deployment) در Qt پیکربندی و انتشار برنامه در پلتفرم ویندوز (Windows) پیکربندی و انتشار برنامه در پلتفرم مک (macOS) پیکربندی و انتشار برنامه در پلتفرم لینوکس (Linux) پیکربندی و انتشار برنامه در پلتفرمهای iPhone و iPad (iOS) پیکربندی و انتشار برنامه در پلتفرم اندروید (Android) معرفی ابزار کیوبس (QBS) به روز رسانی کیوت بدون دریافت فایل نصبی آفلاین اهداف و چشمانداز فنی کیوت ۶ پیشنهادات و ملاحظات در عملکرد و کارآیی (جدید)﷼۶۵۰٬۰۰۰
-
این چشمانداز احتمالاً برای دوستداران کتابخانهٔ قدرتمند Qt و طرفدارانش جذاب باشد! بنابراین من سعی کردهام تا نتایج پست رسمی کیوت را در رابطه با چشمانداز فنی برای آیندهٔ کیوت نسخهٔ ۶ است در اختیار شما قرار دهم. تقریباً ۷ سال پیش کیوت نسخهٔ ۵.۰ منتشر شد! از آن زمان بسیاری از چیزها در دنیای اطراف ما تغییر پیدا کرده است. و اکنون وقت آن رسیده است که چشمانداز جدیدی را از نسخهٔ جدیدتر تعریف کنیم. بنابراین در این پست ما به معرفی مهمترین مواردی که به کیوت ۶ مرتبط است را میپردازیم. به نقل از مدیر فنی کیوت Lars Knoll، کیوت ۶ دقیقاً ادامهٔ کارهایی است که در نسخهٔ ۵ انجام داده شده است. بنابراین توسعه باید به گونهای باشد که کاربران نباید اذیت شوند. اما نسخهٔ جدید میتواند یک آزادی بالاتر را در اجرای ویژگیهای جدید، عملکرد و پشتیبانی بهتر از شرایط امروز و فردا از آنچه در حال حاضر میتوان در سری ۵ داشته باشیم را به ما خواهد داد. همانطور که جزئیات بیشتر در زیر شرح داده شده است، کیوت ۶ هدف زیادی از سازگاری با نسخهٔ قبلی خود یعنی کیوت ۵ را خواهد داشت. همچنین ما در حال توسعه روی نسخهٔ ۵ نیز هستیم که قصد داریم برخی از ویژگیهای کیوت ۶ را در نسخههای کیوت ۵.۱۴ و کیوت ۵.۱۵ LTS معرفی کنیم. بنابراین با ثابت نگهداشتن ویژگیها در کیوت ۵.۱۴، بیشترِ تمرکزِ تحقیق و توسعه به سمت کیوت ۶ تغییر خواهد یافت. بنابراین انتظار میرود کیوت ۶ تا پایان سال ۲۰۲۰ آماده شود. قبل از اینکه همه به چیزهای جدید بپردازیم، بیایید برخی از ارزشهای پایه از هستهٔ اصلی کیوت را برای کاربران خود یادآوری کنیم تا چیزهایی که نمیخواهیم تغییر کنند را تعریف کنیم. چه چیزی Qt را برای کاربران ما ارزشمند میکند؟ کیوت محصولی است که در بازارهای مختلفی مورد استفاده قرار میگیرد، ارزشهای اصلی در هستهٔ کیوت برای مشتریان و کاربران ما عبارتند از: ماهیت چند-سکویی آن، به کاربران این امکان را میدهد تا برنامههای خود را با استفاده از این فناوری به تمامی سیستمعاملهای رو میزی، موبایل و سیستمهای تعبیه شده (اِمبِدها) مستقر کنند. مقایس پذیری آن از دستگاههای کم مصرف و یک منظوره تا برنامههای دسکتاپ پیچیده و یا سیستمهای متصل شده. رابطهای برنامهنویسی و ابزارها و مستندات در سطح جهانی، ایجاد برنامهها را سادهتر میکند. حفظ، ثبات (پایداری) و سازگاری، امکان حفظ بانک بزرگی از کدها با حداقل تلاش برای نگهداری آنها. یک اکو سیستم بزرگ توسعهدهنده با بیش از ۱ میلیون کاربر. یک نسخهٔ جدید از کیوت باید خواستههای محصول ما را مطابق با نیازهای بازار تنظیم کند، و در عین حال پنج ویژگیِ بالا را به خوبی حفظ کند. بازار دسکتاپ، ریشهٔ پیشنهادات و یک بازار قوی و مهم برای کیوت است؛ در این مرحله است که بیشترین تماسها با ما و در انجمنهای کیوت از طرف کاربران صورت میگیرد که باید سالم نگه داشتن و رشد آن مهم باشد. بزرگترین بخش از رشد کیوت نیز مربوط به دستگاههای تعبیه شده و متصل شده میباشد؛ صفحات نمایش لمسی به تعداد تصاعدی در حال افزایش است که در کنار آن افزایش قیمت سختافزار برای این دستگاهها وجود دارد. چیپستهای کم مصرف، میکروکنترلرها، همراه با صفحه نمایش لمسی به اندازههای کوچک در همه جا استفاده میشوند. بسیاری از این دستگاهها عملکردی نسبتاً سادهای دارند، اما به رابط کاربری صیقلی و صافی نیاز دارند. بنابراین حجم زیادی از این دستگاهها ایجاد میشود و ما باید اطمینان حاصل کنیم که میتوانیم با ارائهٔ خود آن فضا را هدف قرار دهیم تا بتوانیم قوبل مقیاس پذیری خود را عملی کنیم. در عین حال، رابطهای کاربری در طیف دستگاهها همچنان به افزایش پیچیدگی ادامه میدهند که شامل هزاران صفحه مختلف و برنامههای بسیاری است. ادغام عناصر سه بعدی و دو بعدی در یک رابط کاربری مشترک خواهد بود که در کنار آن استفاده از واقعیت افزوده و مجازی نیز وجود خواهد داشت. عناصر هوش مصنوعی بیشتر در حوزهٔ برنامهها و دستگاهها مورد استفاده قرار میگیرد و ما نیاز به روشهای آنسان برای ادغام با آنها داریم. رشد شدید تعداد دستگاههای متصل به هم و همچنین الزامات بسیار بالاتر در تجربهکاربر باعث میشود تا برای ساده سازی ایجاد برنامهها و دستگاهها، روی ابزارهای کلاس جهانی تمرکز کنیم. هماهنگ سازی و ادغام طراحان UX در گردش کار توسعه یکی از اهداف است؛ اما بسیاری از زمینههای دیگر وجود خواهد داشت که ما باید برای ساده سازی زندگی کاربران تلاش کنیم. کیوت ۶ یک نسخهٔ اصلی و جدید برای Qt خواهد بود؛ هدف اصلی با چنین نسخهٔ اصلی و جدید، آماده سازی کیوت برای شرایط مورد نیاز در سال ۲۰۲۰ و بعد از آن، تمیز کردن کدهای پایهٔ ما و حفظ آسانتر است. به همین ترتیب تمرکز روی آن مواردی خواهد بود که نیاز به تغییرات معماری در کیوت دارند و بدون شکستن برخی از سازگاریها با سریهای کیوت ۵ قابل انجام نیست. در زیر برخی از تغییرات اساسی که ما باید در کیوت ایجاد کنیم برای مناسبتر کردن آن برای سالهای آینده ارائه شده است. نسل بعدی کیواِماِل (QML) زبان QML و فناوری Qt Quick فناوریهای اصلی رشد سالهای گذشتهٔ ما بوده است. روشهای بصری ایجاد واسطهای کاربری با استفاده از آن فناوریها نقطه فروش بی نظیری از پیشنهاد ما است. اما QML، همانطور که برای کیوت ۵ ایجاد شده است، دارای تعداد زیادی تغییرات ناگهانی و محدودیت است. این به نوبهٔ خود به این معنا است که، امکان پیشرفتهای چشمگیری وجود دارد که ما قصد داریم با کیوت ۶ آنها را پیاده سازی کنیم. معرفی وابستگی زیاد به نوع (strong typing)، وابستگی کم به نوع (weak typing) امکان ایجاد تغییر در کدها را برای کاربران ما سخت میکند. سیستمی از مدل وابستگی زیاد به نوع امکان پشتیبانی از این تغییرات را در محیطهای یکپارچهٔ توسعهٔ نرم افزار و سایر ابزارها به کاربران میدهد و به طور چشمگیری حفظ و نگهداری از آنها را راحت میکند. همچنین، قادر به تولید کدهای اجرایی هرچه بهتر و با سربار کمتر خواهیم بود. اعمال JavaScript به عنوان یک ویژگی اختیاری، با توجه به این موضوع، داشتن یک موتور کامل جاوا اسکریپت هنگام استفاده از QML میتواند مشکلات را پیچیدهتر کند و به خصوص هنگام هدف قرار دادن سختافزار کم مصرف مانند میکرو کنترلرها یک مشکل اصلی محسوب میشود. اما در بسیاری از موارد استفاده از آن بسیار مفید است. حذف نسخه سازی QML، با ساده کردن برخی از قوانین بررسی و جستجو و تغییرات در برخی از خواص میتوانیم نیاز به نسخه را در QML حذف کنیم. این به نوبهٔ خود منجر به ساده سازیهای زیاد در موتور کیواماِل میشود. حجم کار در حفظ فناوری کیوت کوئیک و سادهتر کردن استفاده از QML و Qt Quick را برای کاربران بسیار سادهتر خواهد کرد. حذف ساختار دادههای تکراری بین QObject و QML در حال حاضر، برخی از ساختار دادهها بین meta-object و QML کپی و تکرار میشوند و عملکرد (کارایی و پرفرمنس) را در استارتاپ برنامه کاهش میدهد و باعث افزایش مصرف حافظه نیز میگردد. بنابراین با متحد کردن ساختارهای دادهها، ما قادر خواهیم بود بخشی اعظمی از آن را حذف کنیم. خودداری کردن از ساختارهای داده تولید شده این مربوط به نکتهٔ قبل است، جایی که در حال حاضر بسیاری از ساختارهای داده تکراری در زمان اجرا تولید میشوند. باید تولید اکثر آنها در زمان کامپایل کاملاً امکانپذیر باشد. پشتیبانی از کامپایل QML برای بهرهوری از کدهای بومی C++، با وابستگی زیاد به نوع و قوانین جستجوی سادهتر، میتوانیم QML را به کدهای بومی C++ تبدیل کنیم که نتیجهٔ آن به طور قابل توجهی عملکرد زمان اجرا را افزایش میدهد. پشتیبانی از پنهان کردن جزئیات اجرا، روش و خصوصیات «خصوصی» یک نیاز طولانی مدت است تا بتوانید دادهها و عملکردها را در اجزای QML پنهاد کنید. هماهنگسازی و ادغام بهتر ابزارها، مدل کدهای ما غالباً برای QML ناقص است و باعث میشود که تغییر مکان و خطاها را در زمان کامپایل غیر ممکن کند. با تغییرات فوق، میتوان تشخیص کامپایلر را ارائه داد که بتواند با C++ و همچنین پشتیبانی از آن پالایشِ کدها را بهبود بخشد. نسل بعدی گرافیکها بسیاری از موارد در حوزهٔ گرافیک در نسخهٔ کیوت ۵ تغییر یافتهاند. این باعث میشود که برای حفظ رقابت و توسعه در پُشته انجام شود. با کیوت ۵، ما از رابطهای برنامهنویسی OpenGL را برای گرافیکهای ۳ بعدی استفاده کردیم. از آن زمان به بعد، میزبانی از رابطهای برنامهنویسی جدید نیز تعریف شده است. بنابراین وُلکان (Vulkan) جانشین مشخصی برای OpenGL در لینوکس است، اپل نیز مِتال (Metal) را تحت فشار قرار داد تا آن را جایگزین کند و مایکروسافت DirectX را دارد. این بدان معنی است که کیوت در آینده مجبور است به صورت یکپارچه با تمام رابطهای برنامهنویسی کار کند. برای اینکه این ویژگی امکانپذیر باشد، باید یک لایهٔ جدید که رابطهای برنامهنویسی گرافیکی را انتزاع میکند مانند (QPA برای ادغام سکو) به نام رابط سختافزاری RHering تعریف شود. ما نیز باید زیر ساختهای ارائه شدهٔ خود (Qt Quick Scenegraph، QPainter و پشتیبانی ۳ بعدی) را در بالای آن لایه قرار دهیم. مجموعهٔ رابطهای برنامهنویسی گرافیکی مختلف باعث میشود که ما از زبانهای مختلف سایهزنی پشتیبانی کنیم. ابزار Qt Shader به عنوان یک ماژول به ما کمک میکند تا سیستمِ سایهزنی را به صورت همزمان (کراس-کامپایل) و در زمان اجرا کامپایل کنیم. بحث ۳ بعدی نقش مهم و مهمتری را ایفا میکند، و پشتیبانی فعلی ما یک راه حل یکپارچه برای ایجاد رابط کاربری (UI) هایی که حاوی هر دو عنصر ۲ و ۳ بعدی باشد را ندارد. ادغام QML با محتوا از Qt3D و یا Qt 3D Studio در حال حاضر کار دشواری است و باعث سرریز شدن برخی از کاراییها و عناصر نمایشی میشود. علاوه بر این همگام سازی انیمیشنها و انتقالها بر روی یک فریم با سطح فریم بین محتوای ۲ و ۳ بعدی غیر ممکن است. ادغام جدید محتوای ۳ بعدی با فناوری کیوت کوئیک با هدف حل این مشکل ایجاد شده است. در این حالت، یک سیستم ساخت (رندر) کامل و جدید به شما امکان میدهد تا محتوای ۲ و ۳ بعدی را با هم ظبط کنید. با این کار QML به زبان UI تعریف و تبدیل میشود که سه بعدی هستند و نیاز به فرمت UIP برطرف میشود. ما یک پیشنمایش از کیوت کوئیک جدید با پشتیبانی سه بعدی در حال حاضر با کیوت ۵.۱۴ ارائه میدهیم که اطلاعات بیشتر در یک پست جداگانه ارائه خواهد شد. سرانجام پشتهٔ گرافیکی جدید نیاز به پشتیبانی از خط لولهٔ برای چیزهای گرافیکی هستند که این امکان را میدهد تا آنهایی که در زمان کامپایل برای سخت افزار مورد نظر تهیه شدهاند آماده کرده و از موارد مورد نظر استفاده کند. برای مثال، فایلهای PNG را به بافتهای فشرده تبدیل میکند و بسیاری از آنها را به بافت (Texture) تبدیل کند. سایهها و مِشها را به قالبهای باینری بهینه شده و موارد دیگر تبدیل خواهد کرد. همچنین هدف ما این است که یک موتور متحد برای پوسته/ظاهر در کیوت ۶ ارائه دهیم که به ما این امکان را میدهد تا از نظر ظاهری و احساسات بر روی دسکتاپ و موبایل آن را بر روی هر دو فناوری کیوت ویجت و کیوت کوئیک ارائه کنیم. ابزار یکپارچه و سازگار ابزارهای گرافیکی ما برای ساخت رابطهای کاربری به دو بخش با استودیو کیوت ۳ بعدی (Qt 3D Studio) و استودیو طراحی کیوت (Qt Design Studio) تقسیم بندی شدهاند. علاوه بر آن، استودیو ۳ بعدی اند;ی از بقیه کیوت جدا شده است که باعث میشود کمی بیشتر سعی بر آن شود! ابزارهای طراحی نیز به ایجاد محتوا مانند، محتوای ساخته شده در Photoshop، Sketch، Illustrator، Maya، 3DsMax و دیگر موارد ادغام شده است. ابزارهای توسعه به توجه زیادی برای تمرکز دارد تا بتوانیم بهترینها را در پشتیبانی کلاس برای QML، C++ و پایتون ارائه دهیم. یک ابزار متحد و یکپارچه این اجازه را میدهد که یک طراح UX بتواند از قابلیتهای طراحی در کیوت کریتور استفاده کند و طراحان میتوانند از ویژگیهای ابزارهای توسعهدهنده مانند تهیه یک پروژه یا آزمایش روی یک دستگاه بهرهمند شوند. ابزار ساخت QMake به عنوان ابزار ساخت در کیوت ۵ مورد استفاده قرار میگیرد که تعداد زیادی تغییرات ناگهانی و محدودیتها خواهد دارد. برای کیوت ۶، هدف ما این است که CMake را به عنوان سیستم ساخت ثالث و استاندارد برای ساخت خود کیوت استفاده کنیم. چرا که سیمیک تاکنون پرکاربردترین سیستم ساخت در جهان برای سیپلاسپلاس بوده است و ادغام هرچهبهتر آن کاملاً مورد نیاز است. البته پشتیبانی از QMake ادامه خواهد داشت، اما آن را توسعه نخواهیم داد یا از آن برای ساخت فریمورک کیوت استفاده نخواهیم کرد. بهبود رابطهای برنامهنویسیC++ سیپلاسپلاس طی سالهای گذشته تغییرات بسیار زیادی کرده است؛ در حالی که ما مجبور بودیم کیوت ۵.۰ را روی سیپلاسپلاس ۹۸ پایهگذاری کنیم. اما اکنون میتوانیم به سیپلاسپلاس ۱۷ برای پایهگذاری کیوت ۶ اطمینان کنیم. این بدان معنی است که C++ عملکرد بسیار بیشتری را نسبت به زمان توسعه و اجرای کیوت ۵ که در دسترس نبود ارائه خواهد کرد. هدف ما با کیوت ۶ بهتر شدن با یکپارچهسازی و ادغام قابلیتها بدون از دست دادن پشتیبانی و سازگاری از روشهای پیشین (رو به عقب یا همان backward compatibility) است. برای کیوت ۶، هدف ما این است که برخی از قابلیتهای معرفی شده با QML و فناوری Qt Quick را از طرف C++ در دسترس قرار دهیم. بنابراین ما در تلاش برای معرفی یک سیستم خاص برای QObject و کلاسهای مرتبط هستیم. موتور اتصال دهنده را از QML در هستهٔ کیوت ادغام میکنیم و آن را از سیپلاسپلاس در دسترس قرار میدهیم. این سیستم خاص از موتور اتصال به کاهش قابل توجهی در سربار زمان کار و مصرفه حافظه در اتصال منجر میشود و آنها را برای همهٔ قسمتهای Qt، نه تنها Qt Quick قابل دسترس میکند. پشتیبانی از زبان با کیوت ۵.۱۲، پشتیبانی از پایتون معرفی شده است. همچنین مرورگر را به عنوان پلتفرم جدید از طریق کیوت برای وِب اسمبلی اضافه کردهایم. پس از انتشار کیوت ۶.۰ نگهداشتن و گسترش بیشتر بر روی سطح چند-سکویی بخش مهمی از اهداف و مسیر توسعهٔ سریهای کیوت ۶ خواهد بود. سازگاری با کیوت ۵ و افزایش سازگاریها و بهبودها سازگاری با نسخههای قدیمیتر بسیار مهم است، بنابراین وقتی کیوت ۶ را توسعه میدهیم یک نیاز اساسی محسوب میشود. توسط چهارچوب کیوت میلیونها خط کد نوشته شده است و هرگونه تغییرات در ناسازگاری که انجام شود هزینهای را برای کاربران خواهد داشت. علاوه بر این، کار بیشتری برای تغییرات در کیوت ۶ نیاز است تا کاربران کم کم با آن سازگار شوند که منجر به هزینههای بیشتر از طرف تیم توسعهٔ کیوت برای حفظ آخرین نسخه کیوت ۵ خواهد بود. به این ترتیب، ما باید به فکر جلوگیری از ساطع شدن خطاهای احتمالی در زمان کامپایل و یا زمان اجرا برای کاربران میشود باشیم. در حالی که ما نیاز به حذف بخشهایی از کیوت خواهیم داشت، باید اطمینان حاصل کنیم که کاربران ما از عملکرد مورد نیاز خود برخوردار هستند. این بدان معنا است که کلیدهایی مانند Qt Widgets و سایر قسمتهایی که توسط بخش بزرگی از کاربران ما مورد استفاده قرار میگیرد، در دسترس باشد. ما در حال برنامهریزی برای افزایش بسیاری از پیشرفتها در کلاسهای اصلی و عملکردی هستیم که در سری کیوت ۵ نتوانستیم انجام دهیم. هدف این است که سازگاری کامل منبع را حفظ کنیم، اما از آنجا که میتوانیم سازگاری باینری را با کیوت ۶ بشکنیم، میتوانیم پاکسازیها و اصطلاحات کاملاً زیادی را انجام دهیم که در کیوت ۵ نمیتوانستیم آن را عملی کنیم. با این وجود، ما باید به جلو پیش برویم و برخی از پاکسازیها که در کیوت ۵ در مورد کلاسها، توابع و یا ماژولها عنوان شده بود را در کیوت ۶ به طور کامل اعمال کنیم. این کار باعث میشود ما روی مبنای کدگذاری شدهٔ فعلی تمرکز بیشتر و بهتری داشته باشیم. با این حال، انتقال به دور از قسمتهای منسوخ شده باید تا حد امکان ساده باشد و کاربران ما میتوانند با استفاده از کیوت ۵.۱۵ «پشتیبانی بلند مدت» به صورت ایدهآل این کار را انجام دهند. هدف ما باید این باشد که کیوت ۶ به اندازهٔ کافی با نسخهٔ ۵.۱۵ سازگار باشد تا فرد بتواند به راحتی یک بخش اعظمی از کد خود را حفظ کند، به طوری که کد آن در هر دو نسخهٔ ۵ و ۶ قابل کامپایل باشد. بازار و ساختار فنی محصول علاوه بر بهبود چهارچوب و ابزارهای کیوت، هدف ما ایجاد بازار جدیدی برای قطعات و ابزارهای توسعه است. این بازار بر روی کاربران مستقیم ما متمرکز خواهد شد که برنامههای کاربردی و دستگاههای تعبیه شده را طراحی و توسعه میدهند؛ به این ترتیب این یک مرکز تجمع اصلی برای اکو سیستم کیوت خواهد بود که این امکان را به شخص ثالث میدهد تا نسخههای اضافی خود را در کیوت منتشر کنند و هم محتوای رایگان و تجاری را که برای آن هزینه پرداخت میکنند. کیوت طی سالهای گذشته رشد بسیار زیادی داشته است، تا جایی که ارائهٔ نسخهٔ جدید آن یک کار مهم است. با استفاده از کیوت ۶ فرصتی برای بازسازی محصولات ارائه شده ما وجود دارد و یک محصول اصلی و کوچکتر که شامل چهارچوبها و ابزارهای اساسی است. ما از بازار استفاده خواهیم کرد تا چهارچوب و ابزارهای اضافی خود را ارائه دهیم، نه به عنوان یک بستهنرمافزاری وابسته به کیوت! چشمانداز فنی تا اولین نسخهٔ کیوت ۶ تکامی خواهد یافت. اگرچه معتقد هستیم که این سند بسیاری از مهمترین نکات را برای نسخهٔ بعدی کیوت معرفی میکند اما مطمئناً کامل نیست. اگر شما هم ایدهٔ دیگری دارید میتوانید آن را با ما در میان بگذارید.
-
سلام چندتا سوال داشتم در زمینه اتصال دیتابیس به پروژه کوئیک من تا اینجا متوجه شدم که برای اتصال دیتابیس ابتدا باید یک فایل مختص درج و حذف و ویرایش و اتصال دیتابیس درست کرد. و یک فایل برای مدل. اولی که مشکلی ندارم و کاملا واضحه میمونه دومی: QML - Lesson 016. SQLite database and the working with it in QML Qt ۱ - رول Role چه استفاده ای داره؟ نام هایی که انتخاب میکنه چه کاربردی داره؟ ۲ - هش برای چی هست؟ ۳ - تابعی که خروجی QVariant هست برای چی تعریف شده؟ ۴ - ایا به ازای تمامی جداولی که در دیتابیس است باید رول تعریف شه؟ ۵ - زمانیکه چندین جدول داریم چجوری این فایل مدل باید تعریف بشه. ممنون میشم برام ساده توضیح بدید.
-
با سلام و عرض ادب. چطور میشه توی Qt Quick و برای پلتفرم اندروید یک slot یا چیزی شبیه این تعریف کرد که مثلا وقتی دکمه back این پلتفرم زده شد فلان اتفاق رخ بده. با تشکر
-
کامبیز اسدزاده یک موضوع را ارسال کرد در <span class="ipsBadge ipsBadge_pill" style="background-color: #38ff7a; color: #000000;" >کتابخانه کیوت (Qt)</span>
سلام و درود با طعم کیوت ? همانطور که میدانید توسعه نرمافزارها و اپلیکیشنهای کاربردی در هر پلتفرمی نیازمند ابزارها و کنترلهای مهمی هستند که این امر موجب سرعت بخشیدن به زمان طراحی میشود. در صنایع مختلف برنامهنویسی مخصوصاً سمت وِب کیتهای بسیاری جهت تولید و توسعه سریع همراه با کامپوننتهای بسیار خوبی ارائه شده است که برخی از آنها عبارتند از Bootstrap، UIkit و غیره... ما در نظر داریم کیتی را همانند کیت بوت استرپ برای کیوت کوئیک توسعه دهیم. بنابراین هر کامپوننت یا ماژولی که احساس نیاز از آن میشود را برای ما مطرح کنید. ابتدا ما ویژگیهای بوت استرپ را شبیه سازی خواهیم کرد و سپس کیتهای مورد نیاز شما را که در تاپیکهای دیگر اعلان میشوند با این کیت ادغام خواهیم کرد. با توجه به اینکه من شخصاً کیتی را از قبل برای توسعه در نظر گرفته ام نام این پروژه Jupiter انتخاب شده است همان کیت را برای برنامه ریزی در این بخش عنوان میکنم تا برای ادامه نیز با همکاری همدیگر توسعه داده شود. کامپوننتها Alerts Ads ActionButton ActivityIndicator Accordion Badges Button CircleButton Card CardInfo CardBox CircleImage CircleProgressBar Dropdown DifficultySection Forms Modal Menu MessageBox Map (Based on Google Map & OpenStreetMap) Marker Navs Navbar Notification Profile Pagination Popovers Progress ProgressCircle Space Share SocialFeed Tooltips Header Footer FontSystem Slider InputBox Rate (Vote) WinButton پیشنهادات شما میتواند در این لیست اضافه شود... بسیاری از کنترلها در هر زمینهای که نیاز باشد در این لیست اضافه خواهند شد. نکته : تمامی کنترلها باید واکنش گرا باشند. این کیت تحت فونت آیکونیکهای حرفهای fontawesome مجهز خواهد شد. نکته ۲ : تمامی کامپوننتها باید تحت قالب راست به چپ و چپ به راست پشتیبانی شوند. نکته ۳ : تمامی کامپوننتها باید به دو زبان فارسی و انگلیسی واکنشگرا و تحت فونتهای ویژه پشتیبانی شوند. -
سلام، من دارم پروژه جدید میسازم با QML. سوالم اینه که میخوام کاربر با زدن دکمه منو صفحه درج کاربر براش باز شه. صفحه درج کاربر باید از چه جنسی باشه؟(Qt Quick 2 or QML UI File) در نظر داشته باشید که همگی دارای کد نویسی c++ هستند چجوری با زدن دکمه این صفحه را باز کنم؟ من با ویجت کار کردم اما QML برای بار اولم هست. دیدم که فایل cpp و .h را باید بسازیم . با ماکروی Q_PROPERRTY مقدار میدید . بعد هم تو فایل QML باید import کنیم. اما خوب چجوری با زدن دکمه بالا بیاد و بسته بشه؟؟؟ طبق چیزی که اینجا نوشته Qt Quick UI Forms از این ویژگی ها پشتیبانی نمی شود JavaScript blocks Function definitions Function calls (except qsTr) Other bindings than pure expressions Signal handlers States in other items than the root item Root items that are not derived from QQuickItem or Item و از این نوع مدل ها هم پشتیبانی نمی کند Behavior Binding Canvas Component Shader Effect Timer Transform Transition پس یعنی باید از کوییک 2 استفاده کرد فقط ؟ اما دیدم کوییک 2 را کامپوننت میکنند تو مثال ها. الان می گیج شدم . برای ساخت صفحات برنامم باید از چی استفاده کنم؟ و در آخر کسی پروژه چند صفحه ای دیتابیسی QML نمیشناسه که من بیشتر ازش یاد بگیرم. پروژه دمو یا سمپل ممنون
- 2 پاسخ
-
- qt quick
- کیوت کوئیک
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
با سلام و عرض خسته نباشید. سوالی که خیلی نسبت به اون جستجو کردم و نتیجه ی واضحی نگرفتم اینه که چطور میشه به یک کامپوننت موجود در یک فایل دیگه Qml دسترسی پیدا کرد و property های اون رو خواند یا نوشت.مثلا من میخوام وقتی روی دکمه ی موجود در فرم یک کلیک شد مقدار text از کامپوننت Text در یک فایل دیگه رو بخونم یا تغییر بدم.(ضمنا هر دو فایل Qml هست) لطفا اساتید بزرگوار هر کاری که لازم هست انجام بدم رو توضیح بدن.تشکر
-
کامبیز اسدزاده یک موضوع را ارسال کرد در <span class="ipsBadge ipsBadge_pill" style="background-color: #38ff7a; color: #000000;" >کتابخانه کیوت (Qt)</span>
این تاپیک مخصوص نمونه مثالهایی از پروژهها، ماژولها، کامپوننتها و افزونههایی میباشد که به صورت استاندارد و مدرن توسط سیپلاسپلاس و جاوااسکریپت تحت فناوری Qt Quick طراحی میشوند. بدون هیچگونه تعارفی باید بگوییم هر نرمافزار (اپلیکیشن) و یا محصولی که ساخته میشود باید مطابق استانداردهایی که مهندسین طراحی بر روی آن تاکید دارند توسعه یابد. این استانداردها ممکن است شامل اصول کُدنویسی، الگوهای کدنویسی و یا قوانین روانشناسی رنگها، چیدمان اشیاء و هر موردی که میتواند در نتیجهی آن تاثیر مثبت داشته باشد مهم هستند. با هدف اینکه میخواهیم نمونه مثالهایی را برای تازه واردین قرار دهیم تا بتوانند به درستی ونحوهی صحیح طراحی و پیاده سازی دو بخش بکاِند و فرانتاِند آشنا شوند، نمونه مثالهای شما باید دارای شرایط زیر باشند ساختار استاندارد کلاسها و توابع در سمت سیپلاسپلاس استفاده از اشاره گرهای هوشمند و یا رعایت اصول مدیریت حافظه استفاده از ماکروهای سفارشی iOS، Android، Windows، macOS و لینوکس جهت مدیریت بهتر بعضی از ویژگیهای منحصربفرد سیستمعاملها تا جایی که میتوانید سعی کنید از ابزارهای qmake و qbs در این نمونه مثالها استفاده کنید رعایت رنگبندی و همچنین اصول UX درست مهم است مثال شما باید برگرفته و بر اساس استانداردهای توصیه شدهی doc.qt.io باشد. استفادهی بهینه از لنگرها و همچنین ترازبندی صحیح لایهها و نگهدارندهها در سمت QML استفاده از تصاویر و یا قالبهای استاندارد و سبک مانند SVG, PNG و base64 استفاده از فونت آیکونیکها مانند (FontAwesome) این پست ممکن است ویرایش و یا به روزرسانی شود. در ادامه شما میتوانید بر اساس شرایطی که ذکر شده است و با توجه به استانداردهای Google Material، Microsoft Fluent و همچنین Apple Human Interface نمونه مثالهای خود را ارائه دهید که برخی از مثالهای استاندارد در زیر آمده اند.- 1 پاسخ
-
- رابطکاربری
- ux
-
(و 7 مورد دیگر)
برچسب زده شده با :