جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'qt quick'.
16 نتیجه پیدا شد
-
نگارش ۱.۳.۸
دنیای خود را چگونه با کیوت بسازیم!؟ با توجه به توسعهٔ روزافزون فناوری، دنیای نرمافزاری همگام با آن با سرعت بسیار زیادی در حال پیشرفت و توسعه است. ما برای رسیدن به این مسیر باید به فکر تولید و توسعهٔ محصول با کیفیت همراه با اقدامات کلیدی باشیم تا این محصول هماهنگ با استانداردهای جهانی باشد. برای این امر نیاز است تا این استانداردها را بررسی و در درون پروژههای خود مورد استفاده قرار دهیم. کیوت به عنوان یک چهارچوب قدرتمند یکی از بهترین و پیشتازترین ابزارهای موجود در دنیای برنامهنویسی است که با تمرکز بر روی مباحث تولید محصولی اساساً بر پایهٔ تجربهکاربری و رابطکاربریِ پیشرفته همراه با پشتیبانی از قدرتمندترین زبان برنامهنویسی، نتیجهای مطلوب را در مسیر توسعهٔ محصول نرمافزاری شما فراهم میکند. توجه داشته باشید برنامهنویسی صرفاً نوشتن کد منطقی و برقراری ارتباط با دادهها و حل مسائل مربوط به آن نیست! علاوه بر حل مشکل، برقراری ارتباط با احساسات کاربر و ایجاد یک تجربه و تعامل خوب بسیار مهم است. باید توجه داشت که زمان، هزینه، سرعت و کیفیت همه باهم مهم هستند و برای به حداکثر رساندن درجه کیفیت هر یک از این مولفهها باید از بهترین روشهای ممکن استفاده کرد که شامل مواردی همچون چند-سکویی، ابری، تجربهکاربری، رابطکاربری، رابطهای برنامهنویسی، کتابخانهها و غیره... میباشند و برای رسیدن به آنها کافی است یک زبان مهم و پایه همراه با چند زبان فرعی و فناوریهای مرتبط با یکدیگر را به عنوان ابزار در اختیار داشته باشیم. آخرین اعتبار تخفیفات ویژه به مناسبتهای اخیر به پایان رسیده است. نکتهٔ بسیار مهم: این کتاب به صورت رسمی در کتابخانهٔ ملی ثبت شده است، بنابراین هرگونه چاپ، تکثیر و به اشتراکگذاری این کتاب پیگیرد قانونی دارد. توجه: دریافت نسخههای بهروزرسانی شده تنها از این صفحه برای کسانی که حداقل یک بار آن را تهیه کردهاند امکانپذیر است. نوع این کتاب الکترونیکی است، بعد از پرداخت میتوانید بر روی دکمهٔ دریافت فایل در همین صفحه کلیک کرده و آن را دریافت نمایید. در صورتی که درگاه پرداختی با مشکل مواجه شده باشد، میتوانید به شماره کارت ۶۱۰۴۳۳۷۸۸۴۵۳۳۳۴۸ (بانک ملت) واریز و آن را به آدرس kambiz.ceo@gmail.com و یا شناسهٔ تلگرامی @thecompez اطلاع دهید تا تأیید شود. در صورتی که از شما اطلاعات آدرس مکانی پرسیده شد، میتوانید آنها را وارد نکنید. * تمامی حقوق مادی و معنوی این کتاب متعلق به مولف و ناشر مولف (کامبیز اسدزاده) میباشد و هرگونه کپی برداری از آن پیگرد قانونی خواهد داشت. توجه : در داشتن هر گونه انتقاد و پیشنهاد در رابطه با این کتاب با آدرس شخصی نویسنده (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) به روز رسانی کیوت بدون دریافت فایل نصبی آفلاین اهداف و چشمانداز فنی کیوت ۶ پیشنهادات و ملاحظات در عملکرد و کارآیی (جدید)ریال۶٬۵۰۰٬۰۰۰
- 2 دیدگاه
- 7 امتیاز
-
- برنامهنویسی
- سیپلاسپلاس
-
(و 12 مورد دیگر)
برچسب زده شده با :
-
با سلام و درودهای فراوان بر شما دوستداران طراحی و توسعه، امروز نیاز دیدم یک توضیح در رابطه با تفاوتهای عمدهٔ فناوری ساخت و توسعهٔ رابطکاربری در نرمافزارهای تحت فریمورک کیوت ارائه کنم. در این مقاله من به دو سبک متفاوت با کارآیی و اهمیت آنها مطابق با مستندات فریمورک کیوت میپردازم و شما میتوانید بر اساس نیازمندی و برداشت خود از آن، یکی از فناوریهای لازم را انتخاب و ظاهر برنامهٔ خودتان را با آن آراسته کنید! رابطکاربری (UI) یکی از عوامل اصلی در جذب کاربران و بهبود تجربهکاربری (UX) است. یک طراحی صحیح و مناسب برای واسطکاربری میتواند کاربران را به نرمافزار شما جذب کند و به معنای واقعی کاربران را متقاعد کند که نرمافزار شما صحیح است و قابل استفاده، حتی اگر امر اصلی برنامه اجرای آن باشد. رابطکاربری مناسب، کاربران را به یادگیری آسان فرایندهای نرمافزار و همچنین استفاده از آن ترغیب میکند. با طراحی یک واسط کاربری ساده و کاربر پسند، میتوان زمان و هزینهای برای آموزش کاربرانی که قرار است از نرمافزار شما استفاده کنند, صرفه جویی کرد. در نهایت، رابطکاربری نرمافزار ممکن است انگیزههای کاربران برای استفاده از نرمافزار شما را افزایش دهد. با انتخاب فوقالعاده از کاغذ دیواری و فونتهای جذاب، شما میتوانید به تاثیر خوبی بر روی انگیزههای کاربران برای استفاده از نرمافزار خود داشته باشید. اهمیت رابطهای کاربری مدرن و سنتی رابطکاربری سنتی، یک رابطکاربری ابتدائی است، که چندین دهه است به کار میرود. این سبک برای محیطهای کاربردی نسبتاً پایدار و سادهتر معرفی شده است، با پنجرهها، دستورالعملهای پایه، معمول و منوهای کلاسیک. اما اخیراً، رابطهای کاربری مدرن، تلاش کردهاند تا به کاربرانی که حوصلهٔ کار با رابطکاربری سنتی را ندارند، ارائه شوند چرا که نیاز به تعامل و تجربهکاری بهتر بیشتر و بیشتر میشود. این رابطها، با استفاده از طراحی مدرن، صفحات پویا، و مفهوم سرعت، زیبایی و حتی تحرک مناسب، میخواهند توانایی شما را در مدیریت محیطکاری (کار با نرمافزار) افزایش دهند. بیشتر رابطهای کاربری مدرن، به کاربران محیط کاری تمیز و منظم، صفحه اصلی متحرک، آیکون های جذاب و فهرست منوی منظم، نوع قلم و اندازهٔ مناسب و جذاب را ارائه میدهد تا با اشتیاق بیشتری از کار با محیط مورد نظر لذت ببرید. در این سند، تفاوت بین Widgets Qt و Qt Quick و نحوهٔ انتخاب مناسب برای نیازهای برنامه خود را توضیح خواهیم داد. قبل از اینکه به دلایلی بپردازیم که چرا شما ممکن است بخواهید Widgets Qt را به Qt Quick یا برعکس انتخاب کنید، سپس شروع به بررسی آنچه که هر کدام دقیقاً ارائه میدهند و در چه شرایطی میتوانید از آنها استفاده کنید نیز خواهیم داشت. راهکارهای فریمورک Qt برای طراحی رابطکاربری این فریمورک دارای چندین فناوری برای ایجاد رابطکاربری است. در حالی که میتوان این فناوریهای مختلف را در صورت نیاز ترکیب و مطابقت داد، یک رویکرد اغلب برای نوع خاصی از رابط کاربری مناسبتر از سایرین است. Qt Creator مثال خوبی از برنامهای است که ویجتهای سنتی Qt را با Qt Quick ترکیب میکند. Qt Widgets اساس رابطکاربری را تشکیل میدهند، در حالی که Qt Quick به عنوان مثال برای اجرای حالت خوش آمدگویی استفاده می شود. بخشهای زیر معرفی مختصری از فناوریهای موجود برای ایجاد رابط کاربری و جدول مقایسهای برای کمک به انتخاب بهترین فناوری مناسب ارائه میدهند. دربارهٔ Qt Widget (کیوت ویجت) ماژول Qt Widgets مجموعهای از عناصر رابطکاربری را برای ایجاد رابطهای کاربری کلاسیک به سبکِ پیشفرضِ دسکتاپ فراهم میکند. کلاس QWidget قابلیت اولیه برای رندر کردن (ساخت) روی صفحه و مدیریت رویدادهای ورودی کاربر را فراهم میکند. تمام عناصر UI که Qt ارائه میکند یا زیر کلاسهای QWidget هستند یا در ارتباط با یک زیر کلاس QWidget استفاده میشوند. ایجاد ویجتهای سفارشی با زیر کلاس QWidget یا یک زیر کلاس مناسب و پیادهسازی مجدد کنترل کننده رویداد مجازی انجام میشود. سبکها (پوستهها/ظاهر) سبکها به نمایندگی از ویجتها طراحی میشوند و ظاهر و احساس یک رابطکاربری گرافیکی را دربر میگیرند. ویجتهای داخلی Qt از کلاس QStyle برای انجام تقریباً تمام طراحیهای خود استفاده میکنند و اطمینان حاصل میکنند که دقیقاً شبیه ویجتهای بومی معادل هستند که در زیر تصاویر مربوط به ظاهر پیشفرض سیستمعاملهای ویندوز، لینوکس و مک هستیم. به طور کلی، Qt Style Sheets مکانیزم قدرتمندی است که به شما امکان میدهد ظاهر ویجتها را سفارشی کنید، علاوه بر آنچه که قبلاً با زیر کلاسبندی QStyle امکانپذیر است. لایهبندیها (چیدمان) چیدمانها روشی ظریف و انعطاف پذیر برای مرتب کردن خودکار ویجت های کودک در ظرف خود هستند. هر ویجت مورد نیاز اندازه خود را از طریق خصوصیات sizeHint و sizePolicy به چیدمان گزارش میدهد و طرحبندی فضای موجود را بر این اساس توزیع میکند. محیط Qt Designer یک ابزار قدرتمند برای ایجاد تعاملی و چیدمان ویجتها در طرحبندی است. کلاسهای Model/View معماری model/view کلاسهایی را ارائه میدهد که نحوه ارائه دادهها به کاربر را مدیریت میکنند. برنامههای مبتنی بر داده که از فهرستها و جداول استفاده میکنند، به گونهای ساختار یافتهاند که دادهها و مشاهده را با استفاده از مدلها، نماها و نمایندگان جدا کنند. محیط توسعهٔ Qt Creator و بخش Qt Designer ویرایشگر کد پیشرفته Qt Creator به شما امکان میدهد نرمافزار را به زبانهای C++، QML، جاوا اسکریپت، پایتون و سایر زبانها بنویسید. این ویژگی تکمیل کد، برجسته سازی نحو، refactoring است و دارای اسناد داخلی در نوک انگشتان شما است. دربارهٔ کیوت کوئیک (Qt Quick) ماژول Qt Quick کتابخانهٔ استاندارد برای نوشتن برنامههای کاربردی QML است. در حالی که ماژول Qt QML موتور QML و زیرساخت زبان را فراهم میکند، ماژول Qt Quick تمام انواع اساسی لازم برای ایجاد رابطکاربری با QML را ارائه میدهد. در واقع یک بوم بصری را ارائه میکند و شامل انواعی برای ایجاد و متحرک کردن اجزای بصری، دریافت ورودی کاربر، ایجاد مدلها و نماهای دادهها و نمونهسازی با تأخیر شیء است. ماژول Qt Quick نیز یک API QML ارائه میکند که انواع QML را برای ایجاد رابطهای کاربری با زبان QML فراهم میکند و هم یک رابطبرنامهنویسی (API) از ++C برای گسترش برنامههای QML با کد ++C ارائه میکند. این یک مزیت بزرگ است که به شما اجازه میدهد رابطهای مبتنی بر قدرت سی++ را به خوبی ارائه کنید. پوستهٔ پیشفرض (Default) تا کیوت ۵ و پوستهٔ پایه (Basic) از کیوت ۶ به بعد. سبک پیش فرض یک سبک همه جانبه ساده و سَبُک است که حداکثر عملکرد را برای کنترل های سریع Qt ارائه می دهد. پوستهٔ فیوژن (Fusion) سبک Fusion یک سبک پلتفرم آگنوستیک است که ظاهری بینظیر دسکتاپ را برای کنترلهای کیوت کوئیک ارائه میدهد. پوستهٔ ایمَجین (Imagine) سبک Imagine بر اساس داراییهای تصویر است. این سبک دارای مجموعهای پیشفرض از تصاویر است که به راحتی با ارائه یک فهرست حاوی تصاویر با استفاده از یک قرارداد نامگذاری از پیش تعریف شده قابل تغییر است. پوستهٔ مکاواِس (macOS) از کیوت ۶ به بعد. سبک macOS یک سبک بومی برای macOS است. پوستهٔ آیاواِس (iOS) از کیوت ۶ به بعد. سبک iOS یک سبک بومی برای iOS است. پوستهٔ متریال (Material) سبک Material، طراحی جذابی را بر اساس دستورالعملهای طراحی متریال Google ارائه میکند، اما به منابع سیستم بیشتری نسبت به سبک پیشفرض نیاز دارد. پوستهٔ یونیورسال (Universal) سبک Universal طراحی جذابی را بر اساس دستورالعملهای طراحی جهانی مایکروسافت ارائه میکند، اما به منابع سیستم بیشتری نسبت به سبک پیشفرض نیاز دارد. پوستهٔ ویندوز (Windows) از کیوت ۶ به بعد. سبک Windows یک سبک بومی برای Windows است. اگر هیچ سبکی به صراحت تنظیم نشده باشد، یک سبک پیش فرض استفاده خواهد شد. سبکی که استفاده میشود به سیستمعامل بستگی دارد: سیستمعامل اندروید: Material Style سیستمعامل آیاواِس: iOS Style سیستمعامل لینوکس: Fusion Style سیستمعامل مکاواِس: macOS Style سیستمعامل ویندوز: Windows Style انتخاب سبک در زمان کامپایل انتخاب سبک زمان کامپایل راهی برای تعیین یک سبک برای استفاده با وارد کردن آن در QML است. به عنوان مثال، برای وارد کردن سبک Material: import QtQuick.Controls.Material ApplicationWindow { // ... } انتخاب سبک در زمان اجرا انتخاب سبک زمان اجرا راهی برای تعیین یک سبک برای استفاده با وارد کردن QtQuick.Controls است: import QtQuick.Controls افزونهٔ QtQuick.Controls استایل و استایل بازگشتی را که در زمان اجرا تنظیم شدهاند از طریق یکی از روشهای زیر وارد میکند: دستورQQuickStyle::setStyle() The -style آرگومان خط فرمات QT_QUICK_CONTROLS_STYLE متغیرهای محای qtquickcontrols2.conf پیکربندی از طریف فایل اولویت این رویکردها به ترتیبی است که فهرست شدهاند، از بالاترین به پایینترین. یعنی استفاده از QQuickStyle برای تنظیم استایل همیشه بر استفاده از آرگومان خط فرمان اولویت دارد. برای اجرای یک برنامه با یک سبک خاص، یا با استفاده از QQuickStyle در ++C، پوسته را پیکربندی کنید، یک آرگومان خط فرمان را ارسال کنید، یا یک متغیر محیطی را تنظیم کنید. روش دیگر، سبک ترجیحی و ویژگیهای خاص سبک را میتوان در یک فایل پیکربندی مشخص کرد. اولویت این رویکردها به ترتیبی است که در زیر فهرست شدهاند، از بالاترین به پایینترین. یعنی استفاده از QQuickStyle برای تنظیم استایل همیشه بر استفاده از آرگومان خط فرمان اولویت دارد. استفاده از Qt Quick Style در ++C رابطهای QQuickStyle C++ API پیکربندی یک سبک خاص را ارائه میکند. مثال زیر یک برنامه Qt Quick Controls را با سبک Material اجرا میکند: QQuickStyle::setStyle("Material"); استفاده از روش آرگومانهای خط فرمان ارسال آرگومان خط فرمان-style راه مناسبی برای آزمایش سبکهای مختلف است. این روش بر سایر روش های ذکر شده در زیر ارجحیت دارد. مثال زیر یک برنامه Qt Quick Controls را با سبک Material اجرا میکند: ./app -style material استفاده از روش متغیرهای محیطی تنظیم متغیر محیطی QT_QUICK_CONTROLS_STYLE را میتوان برای تنظیم ترجیح سبک در سراسر سیستم استفاده کرد که بر فایل پیکربندی ذکر شده در زیر ارجحیت دارد. مثال زیر یک برنامه Qt Quick Controls را با سبک جهانی اجرا میکند: QT_QUICK_CONTROLS_STYLE=universal ./app استفاده از روش پیکربندی فایل کنترلهای کیوت کوئیک، از یک فایل پیکربندی خاص پشتیبانی میکند، :/qtquickcontrols2.conf، که در منابع یک برنامه تعبیه شده است. فایل پیکربندی میتواند سبک ترجیحی (ممکن است با یکی از روشهایی که قبلا توضیح داده شد لغو شود) و ویژگیهای خاص سبک را مشخص کند. مثال زیر مشخص می کند که سبک ترجیحی سبک Material است. [Controls] Style=Material سفارشیسازی کنترلهای کیوت کوئیک کنترل کیوت کوئیک از یک سلسله مراتب (درخت) از آیتمها تشکیل شده است. به منظور ارائه ظاهر و احساس سفارشی، پیادهسازی پیشفرض QML هر آیتم را میتوان با یک سفارشی جایگزین کرد. گاهی اوقات شما میخواهید برای یک بخش خاص از UI خود یک ظاهر «یکباره» ایجاد کنید و در هر جای دیگر از یک سبک کامل استفاده کنید. شاید از سبکی که استفاده میکنید راضی باشید، اما دکمه خاصی وجود دارد که اهمیت خاصی دارد. پشتیبانی از High-DPI در کیوت کوئیک کنترلهای کیوت کوئیک، از مقیاسگذاری چند-سکویی با DPI (نقطه در اینچ) بالا که در Qt 5.6 معرفی شده است، پشتیبانی میکند. این ویژگی انتخابی است و میتوان آن را با تنظیم ویژگی برنامه Qt::AA_EnableHighDpiScaling در ++C قبل از ساخت QGuiApplication فعال کرد: #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // <-- QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); } محیط طراحی اختصاصی Qt Design Studio فرآیند توسعه خود را با پر کردن شکاف بین طراحان و توسعهدهندگان متحول کنید تا دیدگاههای طراحی خود را به رابط های کاربری آماده تولید تبدیل کنید. طراحیهای رابطکاربری را با ابزارهای طراحی مانند Figma، Adobe XD یا Adobe Photoshop ایجاد کنید. آنها را به استودیوی طراحی Qt وارد کنید، جایی که کد به طور خودکار تولید شده و آماده استفاده توسط توسعهدهندگان است. تعاملات و رفتارهای پویا را شبیهسازی و تایید کنید. هر چیزی که در استودیوی طراحی Qt ساخته شده است ذاتاً کراس پلتفرم است و میتواند در هر سختافزار یا محیط سیستمعاملی کامپایل شود. وقتی در مورد ایجاد رابطکاربری صحبت میکنیم، فقط در مورد ایجاد یک ماکت با داراییهای موجود صحبت نمیکنیم. با Qt Design Studio، داراییهای شما تبدیل به یک ترکیب رابطکاربری میشود که آماده عملکرد است. تفاوتهای عمدهٔ Qt Widgets طراحی با این ماژول فقط بر پایهٔ زبانهای برنامهنویسی ++C و Python در امکانپذیر است. .سبک و ظاهر بومی در پلتفرمهای دسکتاپ اما نه در پلتفرمهای موبایل. امکان سفارشی شدن را دارد. به بکاند بومی جهت ساخت نیاز ندارد. میتواند در مواقع لزوم از رابطهای برنامهنویسی بومی بکاندی هر پلتفرم استفاده کند. سبک پایه را ارائه میکند، روان نیست، اما امکان تعریف انیمیشن را ارائه میکند. به واسطهٔ زیر کلاسها یا کلاسهای سفارشی خودتان میتوانید رفتارهای ویجت را باز تعریف کنید. محیط اختصاصی طراحی و توسعهٔ Qt Designer تفاوتهای عمدهٔ Qt Quick طراحی با این ماژول به صورت پایه به واسطهٔ QML امکانپذیر است. هرچند هنوز هم برخی از نیازمندیها به واسطهٔ ++C و Python انجام میشود. شما میتوانید ماژولها و کامپوننتهای سفارشی خوبی به واسطهٔ ++C برای QML طراحی کنید. ظاهر کاربری بومی تحت ماژول Qt Quick Controls از نسل کیوت ۶ به بعد ممکن شده است. تطبیق و دریافت اطلاعات پوسته برای اندروید در زمان نیاز ممکن است. به بکاند بومی و پسزمینه وابسته است. همچنین میتوانید ایتمهای خود را به صورت مستقیم با بکاند بومی ارائه کنید. میتوانید پوستهٔ روان و جذابی را تعریف کنید. پیادهسازی انیمیشنها و جلوههای بصری پیچیده بسیار ساده قابل پیادهسازی شدن است. جلوههای گرافیکی به راحتی قابل تعریف هستند. امکان سفارشیسازی رفتارهای آیتم و کنترلها وجود دارد. به واسطهٔ گسترش و یا ساخت کامپوننتهای سفارشی خود بر اساس انواع موجود در Qt Quick. علاوه بر پشتیبانی از محیط Qt Designer، به محیط اختصاصی و پیشرفتهٔ طراحی و توسعهٔ Qt Design Studio مجهز است. چه زمانی باید یکی از این فناوریها را به دیگری ترجیح دهیم؟ Qt Widgets اگر شما نیاز به یک رابطکاربری ساده و سریع نیاز دارید. اگر نمیخواهید با JavaScript سرو کار داشته باشید. Qt Quick زمانی که میخواهید رابطهای کاربری جذاب و خلاقانه تولید کنید. زمانی که میخواهید برنامهٔ خود را برای موبایل و دستگاههای جاسازی شده (امبد) ارائه کنید. وقتی هدفتان ساخت نرمافزارهای چند-سکویی باشد. زمانی که میخواهید بیشترین جذابیت و کارآیی را از نظر UI و UX ارائه کنید. آشنایی با زیرساخت RHI و کارآیی دو فناوری کیوت ویجت و کیوت کوئیک بسیاری از کاربران با توجه به کدهای سی++ در کیوت ویجت، بر این باورند که ساخت و توسعهٔ رابطهای کاربری با Qt Widgets عموماً سریعتر و از کارآیی بهتری برخوردار است. این حقیقت در قبل از زمان فناوری جدید از نسل کیوت کوئیک اعتبار بسیاری داشت، اما با توجه به توسعهٔ زیرساختهای کیوت در نسلهای ۵.۱۵ و ۶ به بعد، تمامی فرایند رندرینگ به لطف کدهای سیپلاسپلاس به صورت بومی تحت معماری RHI انجام میشوند و این مسأله دیگر حائز اهمیت نیست، مگر اینکه دلایل شما برای انتخاب کیوت ویجت صرفاً دسترسی ساخت به رابطکاربری سادهتر و عدم اهمیت داشتن سبکِ نوین باشد. زیرساخت QRhi، یک رابط سختافزاری رندر Qt، انتزاع گرافیکی داخلی Qt است که در آن APIهای سه بعدی مانند OpenGL، Vulkan، Metal و Direct 3D درگیر هستند. در مقایسه با 5.15، پیشرفتهای اصلی در نسخه 6.0، اصلاحات پولیش زیاد اینجا و آنجا و مهمتر از همه، مجموعه بزرگی از بهینهسازی عملکرد است. این بهینه سازی به طور کامل به صورت بومی و رابطهای برنامهنویسی ترکیبی با ++C پیادهسازی شده است و کارآیی خروجی در تولید رابطهای خلاقانه، جلوههای بصری ۲ و ۳ بعدی بسیار عالی خواهد بود. سخن پایانی ساخت و توسعهٔ یک رابطکاربری امروزه یکی از مهمترین معیارهای سنجش کیفی نرمافزار در سمت کاربر است، اگر این موضوع برای شما اهمیت بسیار دارد، قطعاً باید به روشهای اختصاصی در طراحی سوق پیدا کنید. در غیر این صورت نیاز به کدنویسی بیشتر، درک و بازنویسی انتزاعهای فراوان در سمت کدهای خام به واسطهٔ Qt Widgets بسیار خسته کننده خواهد بود.
-
سلام و درود حداقل نسخه اندرویدی که qt ساپورت میکنه نسخه چند هستش؟؟ ظاهرا فقط نسخه های 10 و بالاتر و ساپورت میکنه.
- 1 پاسخ
-
- android development kit
- android
-
(و 2 مورد دیگر)
برچسب زده شده با :
-
با عرض سلام خسته نباشید در مورد افزودن کیت اندروید به Qt به یک مشکلی برخورد کردم روش افزودن کیت به این شکل هست که: 1_در بخش tools>>Options>>Devices رو انتخاب میکنم و در تب Android به ترتیب مسیر jdk , sdk ,NDK,OPenssl رو مشخص میکنم. 2_ولی build tools و شناسایی نمیکنه و همیچن اروری میده : :-1: error: Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK. :-1: error: Could not read qmake configuration file C:/Qt/6.1.3/android_x86/mkspecs/android-clang/qmake.conf. در حالیکه متغیر ANDROID_NDK_ROOT تعریف شده(هم در بخش envirment و هم در بخش project داخل کیوت در بخش run and build) ورژن کیوت(Qt creator 5.0.0) و ورژن NDK(android-ndk-r21d)
-
سلام.وقتتون بخیر. من میخام فونت TabButton رو تغییر بدم و حتی سایز فونت رو افزایش بدم ولی متاسفانه کار نمیکنه.کد هم بصورت زیر هست: TabBar{ id: account_tabBar width: parent.width currentIndex: 1 TabButton{ text: "تغییر رمز" Font.family: appTitleFont.name Font.pixelSize: designSettingItem._titleFontSize3 } TabButton{ text: "پروفایل" } } مقدار appTitleFont و designSettingItem._titleFontSize3 از قبل تنظیم شدند و درموارد دیگری هم استفاده کردم و کار هم کردند. اروری هم که میده بصورت زیر هست. Non-existent attached object برای خطی هست که فونت فامیلی رو ست کردم. ممنون میشم راهنمایی کنید.
-
با سلام در qt quick 5.15 با استفاده از filedialog فایلی رو انتخاب کردم ولی متاسفانه آدرس اون فایل (خروجی fileUrl) به صورت زیر هست: content://com.android.providers.media.documents/document/14.mp4 چطور می تونم اون رو به آدرسی تبدیل کنم که به عنوان source در mediaplayer بتونم قرار بدم؟ نسخه ی اندروید ۱۰ است.
-
اولین پلتفرم آموزشی چند منظورهٔ بومی اگر شما به دنبال فراگیری مهارت خاصی در زندگی خود هستید، فانوکس بستر مناسبی برای شما است؛ نام فانوکس الهام گرفته از فانوس دریایی است که نماد پیدا کردن مسیر و نور راهنما تا رسیدن به مقصد میباشد. هدف : آموزش و یادگیری هوشمند در هر زمان و هر جا برای بهبود زندگی و کسب و کار این تاپیک برای این منظور ایجاد شده است که پروژه معرفی و بازخوردهای آن در این بخش اعلام و اصلاح شوند. بنابراین تمامی دوستان و علاقهمندانی که بازخوردهایی برای آن دارند میتوانند در این بخش آن را اعلام کنند تا به کمک هم آن را اصلاح و توسعه دهیم. نکته: نسخهٔ ریلیز شده ویژگی ثبت خطاها را دارد که به شما اجازه میدهد کد و پیغام خطا را کپی و در اختیار ما قرار دهید. بنابراین شرط جاری روی مُد User و فلگهای Info، Warning، Failed و Critical نیز تنظیم شدهاند که میتوانید در صورت مشاهده آنها را تقسیم بندی کنید. if(DeveloperMode::IsEnable) { Logger::LoggerModel = Logger::Mode::User; Log("Log Message : " + Event , LoggerType::Info); Log("Log Message : " + Event , LoggerType::Warning); Log("Log Message : " + Event , LoggerType::Failed); Log("Log Message : " + Event , LoggerType::Critical); } پیش اطلاعات فنی انجین : سِل Cell رابط کاربری: JavaScript، QML و فناوری Qt Quick کتابخانهها : STL, OpenSSL, Curl و Qt سمت سرور: Php7.2 و MySQLi MariaDB (در آینده همین بخش رو هم احتمالاً با ++C توسعه بدم). رابطهای برنامهنویسی: Restful Api v.1.0 در قالب JSon نسخهٔ فعلی: ۰.۵ آلفا پلتفرمهای پشتیبانی دسکتاپ : Windows, macOS, Linux پلتفرمهای پشتیبانی موبایل و تبلت : iOS, Android, iPadOS معرفی در آیاواستریم نسخهٔ فعلی توسعه یافته : ۰.۵.۳۴۳.۰ ریلیز شده در سه حالت Normal, OpenGLEs و Software Mode هدف از این روش ریلیز این هست که سیستمهایی که دارای کارت گرافیکی ضعیفتر و یا بدون نصب کارت گرافیک و درایور آن هستند را تحت پوشش دهیم، بنابراین نسخهٔ Software Mode تنها مناسب برای سیستمهای اداری و مشابه آن هستند که عموماً خبری از کارت گرافیکی و یا درایورهای نصب شده بر روی آنها نیست ? دوستان توجه داشته باشند که برای بازخوردها و اعلام نظرات توسعه حتماً از مُد اجرای برنامهٔ خودشون و نوع سیستمعامل و شرایط سختافزاریشون مطلع باشند تا بتونیم به درستی مشکلات احتمالی را حل کنیم. در ادامه بعد از نظر نسخهٔ آلفا شروع به بررسی و حل مشکلات احتمالی در مسیر توسعه خواهیم کرد.
-
با سلام و عرض خسته نباشید. می خواستم بدونم امنیت xmlhttprequest در qt quick بر بستر https چطوره؟ آیا میشه داده ها رو با wireshark یا fiddler با مجوز جعلی رمز گشایی کرد؟ کسی تا حالا امتحان کرده؟ https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/DecryptHTTPS
- 1 پاسخ
-
- کیوتکوئیک
- کیوت
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
سلام دوستان من میخواستم عملکرد شبیه فرگمنت ها تو اندروید رو برای کیوت پیاده سازی کنم یعنی وقتی صفحه عریض میشه ( فضای کافی برای نمایش یک المان دیگر فراهم باشد ) یکی از قسمت های بصری برنامه بیاد و کنار فرم اصلی برنامه ما در یک صفحه قرار بگیرد. منظورم به این شکله اگه دیده باشید توی برنامه تلگرام یا خیلی از برنامه های دیگه وقتی صفحه عریض میشه قسمتی که مربوط به نمایش چت هست در کنار لیست افرادی که چت کردیم نشون داده میشه ( وضعیت شماره دو در تصویر زیر ) و وقتی صفحه جای کافی برای نمایش هر دو قسمت را ندارد یکی از آنها مخفی میشود. ( وضعیت شماره یک در تصویر زیر ) توضیح: من این سوالو تو استک پرسیدم یکی از برنامه نویسای ژاپنی برای پاسخ به این سوال یک پروژه تو گیت گذاشتن که تقریبا همین کارو میکنه ولی میخواستم یک مثال ساده از لیست برای این کار مثل همین کاری که تلگرام کرده یکی از دوستان کمک کنه پیاده سازی کنیم تا برای همه قابل استفاده و بار آموزشی داشته باشه. لینک سوال در استک | لینک پروژه در گیت هاب
-
با سلام و عرض ادب. من یک rest api دارم که پس از لاگین به من یک access token ارسال می کنه که من می تونم برای درخواست های بعدی از اون استفاده کنم. حالا می خوام بدونم کلاینت خودم (تحت Qml xmlhttprequest) رو چطور پیاده سازی کنم که پس از اولین ورود توسط یوزر و پسوردی که از کاربر گرفتم برای دفعات بعدی نیاز به گرفتن یوزر و پسورد نباشه. مانند اپلیکیشن های تاکسی آنلاین و... که یک بار فقط مشخصات رو از کاربر می پرسند. اگر بخوام یوزر و پسورد یا access token رو در اپلیکیشن ذخیره کنم احتمال decompile یا چیزی شبیه به این هست که موجب افشا شدن این اطلاعات میشه. (آیا Qml Settings امنیت این کار رو تامین می کنه؟) لطفا راه کار رو بفرمایید. تشکر
- 4 پاسخ
-
- توکن
- access tooken
- (و 6 مورد دیگر)
-
سلام چندتا سوال داشتم در زمینه اتصال دیتابیس به پروژه کوئیک من تا اینجا متوجه شدم که برای اتصال دیتابیس ابتدا باید یک فایل مختص درج و حذف و ویرایش و اتصال دیتابیس درست کرد. و یک فایل برای مدل. اولی که مشکلی ندارم و کاملا واضحه میمونه دومی: 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: #2cdb89; 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 مورد دیگر)
برچسب زده شده با :
-
کامبیز اسدزاده یک موضوع را ارسال کرد در <span class="ipsBadge ipsBadge_pill" style="background-color: #2cdb89; 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 مورد دیگر)
برچسب زده شده با :
-
قاتل خفته HTML5 که ممکن است شما از آن بی خبر باشید!
کامبیز اسدزاده نوشته وبلاگ را ارسال کرد در فناوری
برای سال های بسیار زیادی است که HTML یک زبان جهانی برای ساخت صفحات وب بوده است و تا کنون در مقابل زبانهای دیگر به شدت مقاومت نشان داده است که در بین آنها بهترین امنیت و سرعت مورد نظر ارائه داده است. با این حال جهان فراتر از مرورگر اینترنتی رفته و وارد موبایل و دستگاههای هوشمند بسیاری شده است و برخی از توسعه دهندگان HTML5 را برای توسعه در حوزه IoT بسیار آهسته و ضعیف دانسته اند. شاید پاسخ آن را Qt بتواند ارائه دهد که خود یک چهار چوب چند سکویی بشمار میآید. چرا HTML بسیار موفق بوده است؟ زبان HTML بسیار موفق بوده است، زیرا همراه توسعه و پیشرفت اینترنت و برنامه های توسعه یافته شده در طول رشد صنعت اینترنت همراه شده است. این یک روش سنتی و درست برای توسعه صفحات وب میباشد. در سالهای اخیر ابزار های توسعه جدید٬ با ایجاد و توسعه خود شروع به حفاری HTML کرده اند و خود تاثیر بر روی آن میگذارند، اما برنامه های تحت دسکتاپ بدون هیچ مشکلی همچنان استفاده از HTML را ادامه میدهند. اشکالات اصلی استفاده از HTML در چیست؟ ظهور گوشیهای هوشمند و رسانه های اجتماعی پیشرفت صنعت وب را توسعه داده است. امروزه برنامه های کاربردی در طیف گسترده ای تغییر شکل و اندازه میدهند. برنامههای سنتی دسکتاپی٬ برنامه های کاربردی وب در هر دستگاه با مرورگر٬ برنامه های تلفن همراه٬ دستگاه های اِمبد و دستگاه های مرتبط با اینترنت اشیاء (IoT) و غیره. دستگاه های مرتبط به IoT در حال حاضر نیاز به رابط کاربری و ویژگی های اتصال دارند تا در ارتباط بهتری قرار بگیرند٬ همچنین از اپراتورها انتظار می رود که تجربه کاربری مشابه را در دستگاههای شخصی خود داشته باشند. در این میان HTML هرگز برای سیستم های هوشمند و امبدها و دستگاههای این چنینی در نظر گرفته نشده است و دارای نقایصی است. در حالی که در مخالف آن جهت توسعه صنعت تحت روشها و زبانهای بومی استفاده مورد استفاده قرار میگیرد. یکی دیگر از معایب HTML5 این است که موقع انتخاب HTML5 شما میبایست در کنار آن یک چهارچوب جاوا اسکریپتی را نیز انتخاب کنید. در کنار آن میتوان به مقایسه چهار چوبهای موجود پرداخت که برخی از آنها ممکن است در آینده از بین بروند و برخی از آن ها باقی بمانند! اینکه در آینده چه اتفاقی خواهد افتاد نامعلوم است. بنابراین فشار زیادی برای انتخاب بین چهارچوبها وجود دارد. چهارچوب توسعه چند-سکویی Qt چیست و چگونه به توسعه دهندگان کمک میکند؟ کیوت یک چهارچوب چند-سکویی توسعه بر پایه ++C است و شامل هر دو گزینه کتابخانه و ابزارهای ساخت و توسعه رابط کاربری برنامههای کاربردی میباشد. یکی از روشهای طراحی در کیوت استفاده از زبان اعلانی QML میباشد که طراحی شده است تا به توسعه دهندگان این امکان را بدهد تا بتوانند رابط کاربری با کارآیی بالا را طراحی و پیاده سازی نمایند که قابل اجرا بر روی تمامی دستگاه ها مانند دسکتاپ٬ موبایل و ... باشد. طراحی رابط کاربری توسط QML به صورت بصری است که همراه کنترل ها آماده٬ مانند دکمهها٬ سوئچها و ... را میتوان بر روی بوم طراحی سریع آنها را کشیده و طراحی کرد. همانند چهار چوبهایی که برای توسعه وب و موبایل طراحی شده اند٬ زبانهای برنامه نویسی مانند QML در کیوت به خاطر محدودیتها و حذف HTML توسط شرکتهای بزرگ سهم قابل توجهی را به دست آورده اند. مزایای استفاده از QML در برابر HTML در چیست؟ بعد از اینکه بارها این سوال ها را مطرح کردهایم٬ یک شرکت مشاوره نرم افزاری اتریشی تصمیم به تست مقایسهای بین این دو زبان گرفت تا بتواند پاسخ مناسبی را برای این سوال تعیین کند. آنها برای هرکدام از زبانها ۱۶۰ ساعت در اختیار توسعه دهندگان مشابه قرار دادند برای مثال ۱۶۰ ساعت توسعه بر روی HTML5 و ۱۶۰ ساعت توسعه بر روی QML تا نمونه هایی را در قالب Demo جهت مقایسه طراحی نمایند تا بتوانند آنها را زمانی که برای ایجاد یک محصول مشابه مورد استفاده قرار میدهند از لحاظ عملکرد و پایداری مقایسه کنند. نسخه های دمو نشان میدهد اگر چه زمان مشابهی در هر دو نسخه صرف توسعه شده بود٬ اما پیاده سازی با Qt QML یک رابط کاربری کاربردی تر و کاملتری را نسبت به نسخه HTML5 ارائه میدهد. فرآیند تست و اشکال زدایی با Qt QML ساده تر است٬ زیرا HTML5 نیاز به آزمایش های بیشتری در مرورگرهای مختلف دارد. به طور کلی نسخه Qt QML زمان کمتری را جهت پاسخ دهی (در اجرا) و ویژگیهای فعال تری را مانند صفحه کلید مجازی و حرکات پیچیده ارائه میدهد که این موارد در HTML5 بدون افزودن آنها قابل ارائه نیست. همچنین QML قابلیت ترکیب و قدرت گرفتن از ++C را دارد که نکتهی بسیار مهمی است. کیوت چگونه برای دستگاه های هوشمند و امبد کار میکند و چه رویکرد متفاوتی از برنامههای سنتی دسکتاپی و HTML دارد؟ برنامه هایی که بر پایه کیوت هستند٬ برای یک هدف تدوین و کامپایل میشوند٬ این به این معنی است که بدون در نظر گرفتن قوانین کاربردی بر روی پلتفرم همان رفتاری را انجام خواهد داد که بر روی پلتفرم قرار است اجرا شود. برنامه های تحت HTML5 برای اجرا بر روی مرورگر هستند، برای مثال مرورگر Google's Chrome این به این معنی است که برنامه در پلتفرم های دیگر مانند FireFox ممکن است یک رفتار دیگری را نشان دهد. HTML یک زبان است در حالی که Qt یک چهارچوب کامل با گزینههای طراحی و زبانهای مختلف است. با کیوت شما واقعا توانایی استفاده هر گزینهای را نسبت به کاربرد آن خواهید داشت. شما میتوانید ابزارهای طراحی خود را با کشیدن و رها کردن بر روی بوم خود قرار داده و به راحتی آن را با زبانی مانند ++C تنظیم کنید. کدهای اعلان شده در QML هستند و یا میتوان آنها را با ++C ترکیب کرد. همچنین شما میتوانید در صورتی که نیاز داشته باشید کدهای HTML را بر روی کیوت بر پایه مرورگر کروم فعال و استفاده نمایید. در بازار کیوت چقدر نفوز دارد؟ با وجود اینکه کیوت حدود ۲۵ سال است عمر دارد٬ ممکن است برخی بگویند که این چهارچوب پیش از این زمان ذکر شده توسعه داده شده است. با افزایش توسعه اینترنت اشیاء که نیاز به هرجا و هر صفحه نمایشی را افزایش داده است٬ این در حالی است که توسعه دهندگان در همان مقدار باقی مانده اند. این به این معنی است که توسعه دهندگان نیاز به این دارند که بیشتر سازنده باشند و سعی نکنند که مشکلاتی را حل کنند که قبلا برای آن ها راه حلی پیدا شده است. کیوت توسط بیش از ۱ میلیون توسعه دهنده در بیش از ۷۰ صنایع مورد استفاده قرار گرفته است و در سال گذشته بیش از ۲۰ درصد رشد داشته است و برای تکنولوژی هایی که تا مدت طولانی وجود دارند، منحصر بفرد است. هر کجا که یک رابط کاربری خارق العاده را میبینید آن شانس خوبی است که با کیوت توسعه داده شده است. از وسایل هوشمند درون خودرو و ابزارهای دیجیتال گرفته تا صفحه های نمایش HUD در خودرو های مانند تسلا یا مرسدس، و یا سیستم هایی که از طریق FDA و IEC جهت تامین ایمنی بیماران از طریق سیستم های اتوماسیون برای ساختمان ها و صنایع و حتی در تلوزیون های دیجیتال و یخچال فریزر شما که در این نقطه کیوت به طور گسترده ای به تصویر رسیده است٬ اما عصر طلایی آن در حال آغاز شدن است. هزینه کلی و مالکیت کیوت چگونه است؟ کیوت دارای یک مدل مجوز دوگانه است. کیوت یک مدل منبع باز و کاملا رایگان و همچنین یک مدل تجاری ارائه میدهد که در مدل تجاری پلتفرمی را پیشنهاد میکند که برای استفاده و دسترسی به R&D و پشتیبانی تجاری میباشد. HTML5 رایگان است (با گزینهای برای پرداخت هزینه برای ابزار های غیر ضروری) اما یکپارچگی وابستگیها مانند نگه داری و دستیابی به همان کارایی است که شما به طور نسبی با Qt نیاز دارید. توسعه دهندگان HTML برای اینکه نیاز به دسترسی لایههای زیرین داشته باشند یا روش های پیشرفته تری استفاده کنند تا بتوانند کارایی بهتر و پیشرفته تری را ارائه دهند و سیستم شما را پشتیبانی و بهینه نگه دارند نیازمند استفاده و هزینه کردن به سخت افزارهایی هستند.اما در کیوت شرکت کیوت کسی است که پشت این چهارچوب است و مراقب تمامی وابستگیها میباشد٬ هزینه تعمیرات و نگه داری ها را کاهش میدهد٬ سیستم شما را اثبات میکند و خطرات کلی شما را کاهش میدهد. سناریو هایی که در استفاده Qt به جای HTML مفید تر است کدامند؟ همچنین بالعکس آن چطور است؟ با رشد چشمگیر IoT و افزایش دستگاه های امبد که به خود کیوت میرسند. QML و Qt برای بیشترین استفاده از منابع محدود طراحی شده اند و بنابراین ممکن است انتخاب خوبی برای توسعه دهندگان دستگاههای هوشمند و به خصوص امبد باشد. از سوی دیگر HTML اهداف خود را بر روی وب به راحتی اجرا میکند که در سراسر سیستم عامل های دسکتاپ و موبایل است. همانطور که بسیاری از توسعه دهندگان HTML برای استفاده از آن با HTML آشنا هستند٬ اگر شما کسی هستید که برنامه نویسی ++C را نمیدانید میتوانید از HTML استفاده کنید. با این حال Qt طیف گسترده ای از سیستم عامل ها را پشتیبانی میکند و از لحاظ پاسخدهی، زمان راه اندازی (زمان اجرای برنامه) و تجربه کاربری و رابط کاربری بسیار بهتر عمل می کند. آیا Qt فرصتی واقعی برای کنار گذاشتن HTML به عنوان زبان برنامه نویسی انتخاب کرده است؟ در وبلاگها و انجمنها بحث هایی در حال انجام است که آیا QML واقعا جایگزین HTML در وب خواهد شد یا خیر. از یک جنبه عملکرد مردم میگویند که میتواند این کار را انجام دهد٬ اما از دیدگاه علمی، برای تغییر آن نیاز خواهد بود تا غول هایی مانند گوگل جایگاه و روشهای خود را نسبت به این موضوع تغییر دهند. به طور کلی HTML زبان بسیار محبوبی در صنعت وب محسوب میشود اما باتوجه به توسعه روز افزون پلتفرمهای مختلف و مخصوصا موبایلها و اینترنت اشیاء QML یک رقیب بسیار جدی طراحی و پیاده سازی UI و UX محسوب میشود که بسیار قدرتمند تر از HTML عمل میکند. نکته افزوده شده توسط (کامبیز اسدزاده) با توجه به اینکه صنعت وب با HTML و JavaScript ترکیب شده است باید در نظر داشته باشیم که QML از هر دو فناوری فوق پشتیبانی میکند. این به این معنی است که شما موقع استفاده از QML از یک زبانی اعلانی استفاده میکنید که بر پایه JavaScript است که علاوه بر قابلیتهای جاوا اسکریپت میتوانید از CSS و HTML نیز استفاده کرده و بک اند برنامه خود را تحت زبان قدرتمند ++C تعبیه کنید.