رفتن به مطلب
جامعهٔ برنامه‌نویسان مُدرن ایران
کامبیز اسدزاده

نسخه‌های جدید و به‌روز رسانی‌های Qt


پست های پیشنهاد شده

این تاپیک جهت معرفی و اطلاع رسانی در رابطه با اهداف نسخه‌های جدید، به‌روز‌رسانی‌ها، تاریخ انتشار و موارد مرتبط با آن ایجاد شده است. در این تاپیک به موضوعات مرتبط خواهیم پرداخت.

جهت شروع نسخهٔ ۵.۱۲.۰ کیوت با پشتیبانی LTS را معرفی می‌کنیم.

همانطور که می‌دانید کمپانی و تیم توسعه‌دهنده با فعالیت‌های بسیار زیاد خود مُدام در حال به‌روز رسانی و حل مشکلات بازخورد شده از سمت کاربران برای این کتابخانه هستند. بر خلاف نسخه‌های پیشین نسخه‌های سری ۵ با به‌روز‌رسانی‌های پی‌در‌پر مواجه شده است که شاید این بزرگترین تمایز تیم توسعه دهنده در نسخه‌های قبلی است.

کتابخانهٔ کیوت معمولاً در نسخه‌های اصلی از ویژگی‌ها و تغییرات چشمگیری مواجه می‌شود که می‌توان آن‌ها را در تغییرات یا افزوده شدن به ماژول‌های هسته، فرعی و افزونه‌های آن اشاره کرد. البته به این مورد نیز باید اشاره کنیم که این به‌روز‌رسانی‌ها تنها برای خود کتابخانه نبوده و معمولاً محیط توسعهٔ آن نیز همراه خود به‌روز‌رسانی و حتی به صورت جداگانه منتشر می‌شود که در اینجا تاپیک مخصوص آن آورده شده است.

از آنجایی که انتظار می‌رود کیوت در نسخهٔ ۵.۱۲.۰ با به‌روز‌رسانی‌های اساسی آمده است. یکی از مهمترین آن‌ها تغییر بر روی کامپایلر‌ها و پشتیبانی کامل از استاندارد‌های جدید C++ است. در این نسخه کامپایلر‌های GCC به نسخهٔ ۸ و کامپایلر‌های Clang به نسخهٔ ۷ و مهمتر از همه در محیط ویندوز به‌روز رسانی MinGW به نسخهٔ ۷ بوده است.

البته ناگفته نماند با توجه به تغییرات اخیر گوگل در NDK که اعلام کرده است کامپایلر پیشفرض GCC به Clang تغییر کرده است این تغییر نیز در کیوت اعمال و با هماهنگی ۱۰۰٪ از ویژگی‌های جدید توسعه اندروید هماهنگ شده است. بنابراین شما در بخش کیت‌ها شاهد وجود کامپایلر‌های متعددی خواهید بود که به‌روز رسانی شده اند.

نکتهٔ مهم برای توسعه دهندگان ویندوز : اگر به خاطر داشته باشید در نسخه‌های ۵.۱۰.۰ به بعد کامپایلر ۳۲ بیتی MSVC به طور غیر منتظره‌ای حذف شده بود که با بازخورد کاربران روبرو و در نهایت در این نسخه نسخهٔ ۳۲ بیتی کامپایلر MSVC افزوده شده است.

Qt5.12.0.png

مهمترین به‌روزرسانی‌های کیوت ۵.۱۲.۰

ویژگی‌های اضافه شده به هسته:

  • افزوده شدن ویژگی جدید CBOR به عنوان فرمت جدید همانند JSon برای سریالیز داده‌ها.
    افزوده شدن متد hashLength برای QCryptographicHash که طول خروجی هَش شده را بر می‌گرداند.
    افزوده شدن متد wildcardToRegularExpression به QRegularExpression جهت معرفی راحت‌تر کد کاربر.
    افزوده شدن متد anchoredPattern به QRegularExpression جهت پیاده سازی تطبیق کد کاربر.
    افزوده شدن QRegularExpression برای کلاس QSortFilterProxyModel

ویژگی‌ها و تغییرات در QtGui

  • افزوده شدن پشتیبانی از ویژگی Windows UI Automation در WinRT QPA برای برنامه‌های مبتنی بر UWP که آن را قادر می‌سازد تا با ابزار‌های قابل دسترس در سمت UI دسترسی داشته باشند.
  • جایگزین شدن ویژگی‌های مرتبط با دستگاه‌های ورودی mouse، touchpad، touchscreen و tablet با ویژگی‌های متحد بر پایهٔ ویندوز ۸ و جدیدتر.
  • افزوده شدن QGradient جدید بر پایه https://webgradients.com
  • افزوده شدن فرمت‌های 4xU16 ،RGBA64 به QImage جهت خواندن فرمت‌های PNG و TIFF و همچنین امکان آپلود و گرفتن آن‌ها از OpenGL.

ویژگی‌ها و تغییرات در QtNetwork

  • افزوده شدن DTLS برای پشتیبانی از UDP
  • افزوده شدن یک بازنگری مجدد برای ترنسفر ایمن در بک‌اِند.
  • افزوده شدن پشتیبانی از ALPN در پروتکل HTTP/2 جهت امنیت ترنسفر اطلاعات.
  • افزوده شدن پشتیبانی از ویژگی PKCS#8 در بک‌اِند عمومی (WinRT و ترنسفر اطلاعات)
  • افزوده شدن QPasswordDigestor به عنوان یک فضای نام که شامل توابعی برای استخراج کلید بر پایه رمزعبور می‌باشد (در حال حاضر PBKDF1 و PBKDF2) در دسترس هستند.

ویژگی‌ها و تغییرات در QtQml

  • پشتیبانی از موتور نسخهٔ ۸ جاوا اسکریپت فراهم شده است (ECMAScript 7)
  • ماژول ECMAScript می‌تواند به طور مستقیم توسط QJSEngine::importModule() بارگذاری شود و می‌تواند فایل‌های .qml را در زمان استفاده از فایل‌های .mjs را فراهم سازد.

ویژگی‌ها و تغییرات در QtQuick

  • نوع‌های Pointer Handlers به Input Handlers تغییر نام پیدا کرده‌اند (البته ویژگی‌های مربوط به این دسته در این شاخه وجود دارند) و اکنون به طور کامل به عنوان یک ویژگی پشتیبانی شده در یک کلاس QML تحت Qt Quick پشتیبانی می‌شود. (رابط‌های برنامه‌نویسی سمت سی‌پلاس‌پلاس برای آن‌ها هنوز عمومی نشده است).
  • نوع HoverHandler نوع جدیدی برای شناسایی ویژگی Mouse hover می باشد. این ویژگی‌ می‌تواند شناور ماوس را در موارد عمیقی شناسایی کند. بر خلاف MouseArea، شما می‌توانید چندین آیتم با HoverHandler به صورت هم‌زمان قرار دهید (برای مثال نوار کناری (SideBar) و یک دکمه‌ بر روی آن.
  • نوع DragHandler به عنوان یک نوع چند-نقطه‌ای بشمار می‌رود. اگر شما مقدار minimumPointCount را به ۲ تغییر دهید، به کشیده شدن تنها با دو انگشت واکنش نشان خواهد داد. این ویژگی می‌تواند به مراتب آزادی‌های بیشتری را در توسعه به شما ارائه دهد. کشیده شدن توسط یک انگشت می‌تواند یک حرکت خاص را انجام دهد و کشیده شدن توسط دو انگشت می‌تواند کارهای دیگری را انجام دهد (به عنوان مثال زاویهٔ شیب را تغییر دهد).
  • افزوده شدن پشتیبانی از مخازن از پیش تولید شدن جهت سرعت بخشید به اجرا در زمان استارت‌آپ.
  • افزوده شدم آیتم TableView به عنوان یک نوع دیگری از نوع Item View همانند ListView که بر خلاف آن ویژگی چند ستونه شدن را دارا می‌باشد. بر خلاف Qt Quick 1.x ویژگی ظاهری برای آن طراحی نشده است. اما جای آن فراهم شده است تا توسط delegates ها بتوانید بر اساس تقاضا آن‌ها را فراهم کنید.
  • ویژگی DelegateChooser به عنوان پیش نمایشی از تکنولوژی ارائه شده است که به عنوان delegate های Item Views ها مانند TableView بسته به مقادیر آن‌ها کاربرد دارد.

ویژگی‌ها و تغییرات در QtQuick Controls 2.x

  • کنترل Dial ویژگی inputMode را اضافه کرده است. که دو روش جدید جهت تعامل به صورت عمودی و افقی را فراهم می‌کند. این ویژگی‌های ورودی از یک سیستم ورودی نسبی استفاده می‌کنند. به این معنی است که بر خلاف سیستم ورودی مطلق قبلی، اغییرات در موقیع شماره گیری به آن اعمال می‌شود. این ویژگی در نتیجهٔ آن تاثیر می‌گدارد و باعث می‌شود شماره گیر پرش کمتری داشته و آن را از عملیاتی که ممکن است مضر باشد تضمین کند.
  • کنترل Popup ویژگی‌های leftInset، bottomInset، topInset و rightInset را به بخش پس زمینه مشابه کنترل‌های paddings در contentItem اضافه کرده است.
  • اضافه شدن خاصیت‌های implicitWidth و impliciyHeight ویژگی‌های implicitHeaderWidth و implicitContentWidth و غیره برای ساده سازی پیوند‌های اندازهٔ ضمنی و پیچیده ارائه شده است.
  • در کنترل‌های SwipeView و DialogButtonBox خاصیت‌های contentWidth و contentHeight افزوده شده است.
  • در کنترل RageSlider خاصیت valueAt() به عنوان تابع اضافه شده است، که اجازه می‌دهد تا مقادیر در هر زمان از تغییر برای tooltip به‌روز و تنظیم شوند.
  • در کنترل RangeSlider خاصیت‌های first.mode() و second.mode() به عنوان سیگنال‌هایی مشابه سیگنال moved() اضافه شده‌اند.
  • در آیتم پایه Control، در صورتی که به صراحت مشخص شده باشد، baselineOffset به صورت خودکار فاصلهٔ بالای کنترل و baselineOffset از contentItem را کنترل می‌کند. مشخص سازی استایل برای این کنترل نیاز نیست.
  • در کنترل Popup، خاصیت‌های anchors.centetIn به عنوان یک راه حل مناسب اجازه تنظیم مرکز یک popup را می‌دهد.
  • آیتم QQuickStyle، افزوده شدن ویژگی‌های stylePathList() و addStylePath() به عنوان مدیریت فهرستی از سبک‌های موجود در کیوت کوئیک کنترل ۲ را فراهم می‌کند.
  • کنترل Slider، RangeSlider ویژگی touchDragThreshold را برای پیکربندی آستانهٔ شروع کشیدن (لمس) لغزنده فراهم می‌کند. کشیدن ماوس در این ویژگی تاثیری ندارد.
  • در کنترل‌های TextArea و TextField خاصیت placeHolderTextColor برای راحتی کار برای افزودن رنگ در متن پیشفرض و نمایشی در پس زمینهٔ کنترل اضافه شده است.
  • در ویژگی Material، یک سری موارد مورد استفادهٔ انبوه برای استفاده از این سبک در پلتفرم‌های دسکتاپ افزوده شده است.برخی از کنترل‌ها از ارتفاع و اندازهٔ قلم کوچکتری استفاده می‌کنند. جهت پیکربندی آن نیز می‌توان از متغیر QT_QUICK_CONTROLS_MATERIAL_VARIANT جهت مشخص سازی تراکم و یا با تنظیم Variant=Dense در فایل پیکربندی qtquickcontrols2.conf استفاده کرد.
  • کنترل DialogBoxButton خاصیت buttonLayout به آن اضافه شده است که می‌تواند برای ترتیب و مرتب ساختن دکمه‌ها از آن استفاده شود.
  • کنترل Tumbler، تابع positionViewAtIndex() را اضافه کرده است که می‌تواند عملکرد توابع مربوط به PathView و ListView را بسته به مقدار آن‌ها بسته بندی کند. این امکان اجازه می‌دهد تا مقدار currentIndex بدون انیمیشن تغییر یابد.
  • در Control و Popup، خاصیت‌های horizontalPadding و verticalPadding به عنوان روش مناسب جهت تنظیم جپ و راست و یا بالا و پایین فاصله‌ها در یک حرکت در نظر گرفته شده است.
  • کنترل Tooltip، روش‌های show() و hide() را برای نمایش پارامتر‌های خاص اضافه کرده است.

ویژگی‌ها و تغییرات در QtSerialBus

  • افزوده شدن یک افزونهٔ مجازی CAN برای شبیه سازی CAN بدون سخت‌افزار.
  • افزوده شدن گزینه‌های پیکربندی برای canbusutil برای عنوان برای تنظیم میزان بیت‌ریت.
  • افزوده شدن CAN FD به پلاگین PeakCAN.
  • افزوده شدن توابع readAllFrames() و clear() به QCanBusDevice.

ویژگی‌ها و تغییرات در QtWebEngine

  • به‌روز رسانی شده به Chromium 69
  • رابط QWebEngineUrlScheme برای تنظیم و پیکربندی نوع و امنیت در طرح‌های سفارشی URL.
  • ویژگی‌های WebActions در معرض QML قرار گرفته‌اند.
  • اکنون می‌توان صفحه‌هاتی که آن‌ها را خوانده وی ا از آن‌ها دانلودی صورت گرفته است را خواند.
  • گواهی‌نامه‌های SSL از این پس پشتیبانی می‌شوند. خواندن آن‌ها از تنظیمات macOS و Windows و بانک اطلاعاتی NSS در Linux امکانپذیر است.

ویژگی‌ها و تغییرات در Qt Labs Platform

  • در آیتم‌های Menu، MenuItem و SystemtryIcon خاصیت iconName و iconSource منسوخ شده است.
  • در آیتم‌های Menu، MenuItem و SystemtryIcon خاصیت icon.mask افزوده شده است.

ویژگی‌ها و تغییرات در Qt Virtual Keyboard

  • یک رابط واسط برای کلید مجازی تعریف شده است. تمامی روش‌های ورودی فعلی و برخی از ویژگی‌های ویژهٔ لایه‌های آن مانند Hunspell، OpebWnn و غیره به ویژگی‌های اضافی منتقل شده‌اند. این ویژگی اجازه می‌دهد تا ساخت و ساز‌های نوع سوم بدون دستکاری ورودی‌های پیشفرض این ماژول صورت بگیرد.
  • با معرفی این ماژول افزونه‌های اضافی می‌توانند با آن لینک شوند. این ماژول رابط‌های برنامه‌نویسی لازم ++C را برای ایجاد یک روش ورودی جدید فراهم می‌کند.
  • افزوده شدن گزینهٔ build time به امکان محدود سازی تمامی سبک‌ها در پلاگین را فراهم می‌کند.
  • پشتیبانی از MyScript برای تشخیص دست نویس اضافه شده است.
  • ویژگی تشخیص Vietnamese در دست خط اضافه شده است.
  • افزوده شدن لایه‌های جدید، آلبانی، آمریکایی، انگلیسی، فرانسوی، کانادایی، اندونزیایی، مالایی، پرتغال برزیبی، اسلواکی، اسلوونیایی، اسپانیایی مکزیکی، تایلندی، ترکی، ویتنامی و اکراینی.
  • لایه‌های بیشتر در بارهٔ زبان روسی نیز اضافه شده است.
  • برخی از لغت نامه‌ها به صورت پیش فرض تحت یک افزونه اضافه شده‌اند.
  • فرهنک لغت کاربری Hunspell افزوده شده است.

ویژگی‌ها و تغییرات در Qt Bluetooth

  • افزوده شدن توانایی جهت کشف داده‌ها از طریف QBluetoothDeviceDiscovery

ویژگی‌ها و تغییرات در Qt 3D

  • افزوده شدن ویژگی جهت بارگیری درون یک فایل که شامل نام و شناسهٔ مشخصی است در بخش نمایه به عنوان انیمیشن فراهم شده است.
  • فعال شدن منحنی‌های ثابت در انیمیشن.
  • رفع مشکلات مربتط با QNodes ها در برخی شرایط.
  • رفع و بهبود در نمایش بافت‌ها در اشیاء
  • نوع TextureImage دیگر به عنوان فرزند بافت در نظر گرفته نمی‌شود.
  • زمانی که در یک حلقهٔ شبیه سازی شده قرار گرفته نشود، استفاده از پردازنده کاهش پیدا خواهد کرد.
  • نوع EntityLoader از این پس قادر به بارگیری از یک Component به خوبی یک فایل است.
  • پشتیبانی از سیستم رندرینگ OpenGL ES 3.1 فراهم شده است.
  • عملکرد‌ها و یک سری باگ‌ها در بخش بک اند رفع و کارآیی آن بهبود داده شده است.

ویژگی‌ها و تغییرات در Qt Wayland Compositor

  • افزوده شدن پشتیبانی از نسخهٔ پایدار xdg-shell (همچنین نسخهٔ ناپایدر ۵ آن منسوخ شده است).
  • پشتیبانی از xdg-decoration-unstable-v1 برای سمت سرور جهت اعمال دکوراسیون پنجره‌ها اعمال شده است.

ویژگی‌ها و تغییرات در Qt WebSocket

  • تابع "bytesToWrite" به این ماژول افزوده شده است.

ویژگی‌ها و تغییرات در Qt Location

  • پلاگین MapboxGL به‌روز‌رسانی شده و پشتیبانی از QNX7 فراهم شده است.
  • حذف خاصیت‌های add و remove و افزوده شدن آن به MapItemView
  • آیتم MapItemView هم‌اکنون کلاس MapItemGroup را طبقه بندی می‌کند و به خودی خوب غیر قابل تغییر می‌باشد.
  • در حال حاضر PlaceSearchModel اجازه می‌دهد تا مدل به صورت پراکنده پُر شود.
  • ویژگی Map.visibleArea جهت محدود کردن مناطق قابل مشاهده بر روی نقشه اضافه شده است.
  • ویژگی geoShape در آیتم‌های مربوط به MapItem به صورت R/W تنظیم شده است و یک تنظیم کننده مجازی در کلاس پایه دارد.
  • پشتیبانی از نگه‌دارندهٔ حفره‌ها در QGeoPolygon فراهم شده است.
  • افزوده شدن پشتیبانی از Route Legs به پلاگین.

ویژگی‌ها و تغییرات در Qt Test

  • خطاهای مربوط به std::tuple در زمان استفاده از QCOMPARE تشخیص داده می‌شوند.

ماژول‌های جدید

  • افزوده شدن ماژول Qt Remote Objects با پشتیبانی کامل.
  • افزوده شدن پلاگین Qt WebGL Streaming با پشتیبانی از استریم در مرورگر و اپلیکیشن‌های تحت وب.

تغییرات مرتبط با پلتفرم‌ها

  • در QTimeZone از ICU در صورتی که در دسترس باشد استفاده می‌کند (اولویت استفاده با Api‌ مایکروسافت می‌باشد).
  • در سیستم‌عامل macOS پشتیبانی از QSurfaceType::MetalSurface فراهم شده است.
  • در macOS پشتیبانی از QSurfaceType::VulkanSurface و QVulkanWindow از طریق MoltenVK فراهم شده است.
  • در Wayland نسخهٔ پایدار xdg-shell افزوده و نسخهٔ ناپایدار ۵ آن منسوخ شده است.
    • با استفاده از پنجره‌های پیشفرض نمایش آن‌ها زیباتر و بهتر شده است.
    • پشتیبانی از ویژگی‌های اضافی xdg-decoration-unstable-v1 و xdg-output-unstable-v1 فراهم شده است.

فناوری‌های جدید به عنوان پیش‌نمایش

  • ویژگی Qt for WebAssembly امکان این را فراهم می‌سازد تا برنامه‌های تحت کیوت در بستر مرورگر‌ با استفاده از WebAssembly اجرا شوند.

تغییرات مرتبط با Qt for Automation

  • ویژگی Qt MQTT
    • پشتیبانی کامل از پروتکل MQTT سطح ۵
  • ویژگی Qt KNX
    • پشتیبانی از KNXnet/IP Core نسخهٔ ۲
    • پشتیبانی از KNXnet/IP Routing نسخهٔ ۱
    • پشتیبانی از KNXnet/IP Tunneling نسخهٔ ۲
    • پشتیبانی از KNXnet/IP و برقراری ارتباط از طریق TCP
    • پشتیبانی از KNXnet/IP Secure به صورت پیش نمایش از فناوری
  • ویژگی Qt OPC UA
    • پشتیبانی از Events‌ها
    • افزوده شدن رابط‌های برنامه‌نویسی جهت خواندن به صورت دسته‌ای
    • افزوده شدن رابط‌های برنامه‌نویسی جهت نوشتن به صورت دسته‌ای
    • افزوده شدن یک TranslateBrowsePathsToNodeIds به رابط‌های برنامه‌نویسی
    • رابط‌های مرورگری بهبود یافته شده
    • پشتیبانی از انواع Argument و ExpandedNodeId
    • نود‌ها می‌توانند از این پس از به وسیلهٔ ExpandedNodeId استفاده شوند.
    • پشتیبانی از آرایه های چند بعدی بهبود یافته است.
    • پشتیبانی از خواندن و نوشتن اشیاء اضافی فراهم شده است.

ماژول‌های منسوخ (حذف در نسخه‌های بعدی)

  • ماژول Qt Script
  • ماژول Qt Quick Controls 1
  • ماژول Qt Canvas 3D

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قرار بود توی کیوت 5.12 تاریخ ها (شمسی و ...) اضافه بشه و دوستان (@سروش ربیعی و ...) روی اون کار می کردند،

اگه خبری در موردش دارین اینجا منتشر کنید، ممنون.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 2 ساعت قبل، dorche گفته است :

قرار بود توی کیوت 5.12 تاریخ ها (شمسی و ...) اضافه بشه و دوستان (@سروش ربیعی و ...) روی اون کار می کردند،

اگه خبری در موردش دارین اینجا منتشر کنید، ممنون.

اگر این بار مشکل خاصی نتراشند ان‌شاءالله در نسخهٔ ۵٬۱۳ تقویم فارسی خواهیم داشت.

تغییرات مربوطه تکمیل شده‌اند و از طریق آدرس زیر در دسترس هستند:

Gerrit Code Review

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نسخهٔ ۵.۱۳.۰ کیوت با به‌روز‌رسانی‌ها، ویژگی‌های جدید و بهبود‌های بسیاری همراه با پشتیبانی از OpenSSL 1.1 انتشار یافت.

کیوت برای وب‌اسمبلی (Qt for WebAssembly)

پشتیبانی از WebAssembly در این نسخه به طور کامل ارائه شده است که به کاربران اجازه می‌دهد برنامه‌های نوشته شده سی‌پلاس‌پلاس تحت کیوت را در سمت سرور راه‌اندازی کنند تا بدون نیاز به نصب هرگونه پکیجی از کیوت در سمت کلاینت تنها با استفاده از مرورگر خود به آن دسترسی داشته باشند.

با توجه به گزارشات کیوت سرعت خود را برای توسعهٔ این ویژگی تنظیم کرده است. همچنین گوگل در رویداد اخیر خود به نحوهٔ اجرای برنامه‌های سی++ تحت این ویژگی اشاره کرده است.

برخی از مثال‌های موجود برای این ویژگی در این آدرس موجود هستند.

ماژول Qt GUI

ماژول Qt GUI کلاس‌ها را برای یکپارچه‌سازی پنجره‌های سیستمی، مدیریت رویداد‌ها، OpenGL و OpenGLES، گرافیک ۲ بعدی، تصویرسازی پایه، فونت‌ها و متن‌ها خلاصه کرده است.

ماژول Qt QML

در این به‌روز‌رسانی ماژول کیوت‌کیو‌ام‌اِل یک چهارچوب برای توسعهٔ رابط کاربری مایع (Fluid) در زبان QML را فراهم می‌کند. در این نسخه پشتیبانی از شمارنده‌های سی‌پلاس‌پلاس (enums) و همچنین مقادیر اتصال null در جاوا‌ اسکریپت در زمان کامپایل بهینه‌سازی شده است. همچنین پشتیبانی از ساخت توابع ۶۴ بیتی در ویندوز در پُشته (اِستک) تحت توابع JITed فراهم شده است.

ماژول کیوت کوئیک (Qt Quick) و کنترل‌های کیوت‌ کوئیک ۲.۰ (Qt Quick Controls 2.0)

به‌روزرسانی‌هایی جهت نوشتن برنامه‌های QML و کنترل‌های رابط کاربری در کتابخانه‌های استاندارد اعمال شده‌اند. همچنین پشتیبانی از TableView با ویژگی مخفی سازی ردیف‌ها و ستون‌ها اضافه شده است.

ماژول وب‌انجین (Qt WebEngine)

وب‌انجین با ویژگی‌های سریع کرومیوم به نسخهٔ ۷۳ به‌روز‌رسانی شده است. همچنین ویژگی نمایش PDF تحت افزونه‌های کرومیوم، گواهی‌های پشتیبانی از کیو‌ام‌ال، رابط‌های برنامه‌نویسی و یک thread-safe ارائه به آن اضافه شده است.

ماژول شبکه (Qt Network)

این ماژول مجموعه‌ای از رابط‌های برنامه‌نویسی را برای برنامه‌های کاربردی که از TCP/IP استفاده می‌کنند فراهم می‌سازد که پشتیبانی از کانال امن برای سوکت SSL و پشتیبانی از OCPS به آن اضافه شده است. نسخهٔ ۵.۱۳.۰ اکنون از OpenSSL 1.1 برای پشتیبانی از اتصالات SSL در لینوکس و اندروید استفاده می‌کند.

ماژول رسانه‌ (Qt Multimedia)

همانطور که می‌دانید این ماژول، مجموعه‌ای از انواع QML و کلاس‌های C++ را برای پردازش محتوای چند‌رسانه‌ای فراهم می‌کند که در این به‌روز‌رسانی بخش بی‌نظیری در QML Video Output با استفاده از ویژگی flushMode و پشتیبانی از GStream برای ویندوز، مک‌او‌اِس و هدر HTTP و نقش‌های صوتی برای اندروید اضافه شده‌است.

ماژول Qt KNX

سرویس KNX به عنوان خدمات اتصال در سمت کاربر، جهت اتصال برای ارسال پیام به KNX و کنترل ویژگی‌های دستگاه آن که معمولاً در ساخت اتوماسیون استفاده می‌شود در نسخهٔ ۵.۱۳ رابط‌های برنامه‌نویسی کاربری امنی را دریافت کرده است.

ماژول Qt OPC UA

نسل بعدی برنامه‌های صنعتی ۴.۰ بر اساس معماری کاربر/سرور محور است که شامل برخی از به‌روز‌رسانی‌ها می‌باشد. به طور عمده رابط‌های برنامه‌نویسی C++ به طور کامل پشتییبانی و پیش‌نمایش‌های فنی از رابط‌های برنامه‌نویسی QML و یک رابط برنامه‌نویسی امن برای سمت کاربر در سی++ ارائه شده است.

 

محیط توسعهٔ Qt Creator

برخی از به‌روز‌رسانی‌ها در این نسخه اعمال شده‌اند که شامل بهبود‌های مرتبط با رابط کاربری و همچنین ابزار Clang Analyzer و یک سری تجزیه کننده‌های QML ارائه شده است. همچنین پشتیبانی از ECMAScript 7 و افزونه پروفایل حدید برای نرم‌افزار در حال اجرا برای لینوکس اضافه شده است.

 

محیط طراحی Qt Design Studio 1.2

آخرین نسخهٔ طراحی و ابزار توسعه Qt UI در حال حاضر شما را به یکپارچگی طرح‌های خود از Sketch (علاوه‌بر فتوشاپ) دعوت می‌کند که اجازه می‌دهد آن‌ها را به کد QML تبدیل کنید. به خاطر محبوبیت ابزار Sketch برای طراحان آن به این محیط اضافه شده است و این باعث می‌شود رابطهٔ بین طراحی و توسعهٔ محصول بسیار راحت‌تر و نرم‌تر صورت بگیرد. همچنین گرادیان‌های پیچیده از شکل‌های کیوت کوئیک به آن اضافه شده است و بهبود‌ها و اصلاح‌های مختلفی اعمال شده است.

 

کیوت برای پایتون

در این به‌روز‌رسانی تعداد بسیار زیادی از بهبود‌ها به اولین نسخهٔ رسمی در کیوت ۵.۱۲ اضافه شده است.

 

پیشنهادات

  • در صورتی که مایل به تجربهٔ ویژگی‌های جدید کیوت مانند پشتیبانی از رندر برنامه‌ها در وب و یا حل بعضی از کمبود‌ها مانند TableView و غیره در کیوت کوئیک بهره‌مند باشید می‌توانید کتابخانهٔ خود را به نسخهٔ ۵.۱۳ به‌روز‌رسانی کنید.
  • نکته : با توجه به مشکلات ناشی از OpenSSL و عدم هماهنگی درست آن در نسخه‌های اندروید و لینوکس که توسعه‌دهنده مجبور به نصب نسخه‌های سفارشی و قدیمی آن کتابخانه بود، از این پس می‌توانید در کیوت ۵.۱۳ از نسخهٔ OpenSSL 1.1 استفاده کنید و اپلیکیشن‌های خود را تحت آخرین به‌روز‌رسانی‌های آن توسعه دهید.
  • پشتیبانی از ویژگی‌های ویژهٔ کرومیوم و همچنین حل مشکلات شمارنده‌ها در C++ یکی دیگر از دلایلی هستند که می‌توانند شما را ترغیب به استفاده از این نسخه کند.

 

شما می‌توانید این نسخه‌ را همین الآن برای پلتفرم‌های تسعهٔ ویندوز، مک‌او‌اِس و لینوکس دریافت و نصب کنید.

 

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام و درود،

نسخهٔ ۵.۱۴.۰ به عنوان یک نسخهٔ ما قبل نهایی از ۵.۱۵ همراه با ویژگی‌های بسیاری ارائه شده است که در این میان ویرایش ۵.۱۴.۲ بعد از ۵.۱۴.۱ با برخی از بهبود‌ها و حل مشکلات گزارش شده منتشر شد.

برخی از ویژگی‌های بسیار کاربردی که به کمک دوستان عزیز، @سروش ربیعی و @hamed_masafi به کتابخانهٔ QCalendar افزوده شده است. و از این نسخه به بعد امکان استفاده از تاریخ شمسی در کیوت فراهم می‌شود.

شما می‌توانید این نسخه از کتابخانه را در این بخش دریافت کنید.

یک مثال ساده:

#include <QCoreApplication>
#include <QCalendar>
#include <QDate>
#include <QDebug>


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QCalendar cal(QLatin1String("jalali"));

    qDebug() << "availableCalendars=" << QCalendar::availableCalendars();

    QString todayJalali = QDate::currentDate().toString("yyyy-MM-dd", cal);
    qDebug() << "Today in jalali calendar=" << todayJalali;

    QDate d(1398, 10, 15, cal);
    qDebug() << "Date 1398/10/15 in julian calendar=" << d.toString();

    return a.exec();
}

ویژگی‌های جدید به صورت زیر می‌باشند:

ماژول Qt3d

  • Threading architecture overhaul (removal of aspect thread)
  • Frontend/Backend node sync overhaul
  • QTransform now has access to the world matrix
  • Introduction of Scene3DView
  • Scene3D is now in sync with QtQuick
  • Scene3D can now render as an underlay without FBO

ماژول Qt Bluetooth

  • [QTBUG-40698] Optional win32 backend to support Windows 7 and 8. Backend is not built by default and not part of the prebuild packages though.
  • QLowEnergyController: Introduce AuthorizationError
  • [QTBUG-76615] Ability to have multiple manufacturer data per manufacturer ID

ماژول QtCore

 

  • QCalendar adds support for Calendars other than Gregorian, by implementation of suitable back-ends.

  • Back-ends to implement the Gregorian, Jalali (Persian), Islamic Civil, Milankovic, and Julian calendars. We look forward to other contributions.
  • [QTBUG-14150] Qt is now relocatable, i.e. it's possible to move the Qt installation without breaking functionality or loading of plugins.

ماژول Qt GUI

 

  • QColorConstants provide constexpr QColor instances that don't cost any runtime overhead

  • Updated High-DPI support.
  • Applications can now opt-in to use non-integer scale factors, for example Windows at 150%. Use QGuiApplication::highDpiScaleFactorRoundingPolicy or QT_SCALE_FACTOR_ROUNDING_POLICY to set the rounding policy.
  • Added the QT_ENABLE_HIGHDPI_SCALING environment variable which enables high-dpi scaling based on display DPI. Replaces QT_AUTO_SCREEN_SCALE_FACTOR (now deprecated), and corresponds to the Qt::AA_EnableHighDpiScaling application attribute.
  • The QT_FONT_DPI environment variable is now supported cross-platform, for the purpose of developing and testing with specific DPI values.
  • Color-space support for images. Reading and writing color-spaces from JPEG, PNG, WebP and TIFF images, and performing color-space transformation on images.
  • QTextDocument/QTextTable now support
  • per-edge border styling via QTextTableCellFormat
  • border-collapse mode
  • HTML table style import (partial) and export
  • QTextDocument supports reading and writing Markdown format, as an alternative to HTML. If you read HTML and write Markdown, or vice-versa, the formatting should be preserved to the extent that the CommonMark and GitHub specs allow (including headings, tables, bullet lists, block quotes and code blocks); but we don't guarantee all cases yet, because it's thinly tested so far.

ماژول Qt Multimedia

 

  • Added QVideoFrame::Format_YUV422P.

  • Introduced support of GStreamer OpenGL plugin.

ماژول Qt Network

  • HTTP/2 configuration API
  • Network connectivity monitoring
  • [QTBUG-1538] Support Kerberos Proxy Authentication

ماژول Qt QML

 

  • Added qmlRegisterSingletonInstance function. This allows to expose a QObject as a singleton to QML, without having to create a factory function as required by qmlRegisterSingletonType. It is meant as a type safe replacement of setContextProperty in common usages.
  • Added qmlRegisterAnonymousType as a replacement for qmlRegisterType. It allows to specify the URI and major version, which enables better tooling support.
  • qmllint gained an experimental -U option. If run with it, it warns about accesses to unqualified identifiers

ماژول Qt Quick

 

  • Added the first preview of the graphics API independent scenegraph renderer as an opt-in feature. This allows running qualifying Qt Quick applications on top of Vulkan, Metal, or Direct3D 11 instead of OpenGL. The supported platforms are currently Windows 10, Linux with X11 (xcb), macOS with MoltenVK, or Android 7.0+ for Vulkan, macOS for Metal, Windows 10 for D3D.

  • Text and TextEdit now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
  • Includes the GitHub checklist extension, such that you can click to toggle checkboxes in a TextEdit.
  • TextEdit uses an I-beam cursor by default, and a pointing-hand cursor when hovering a checkbox or a link. You can still override the default cursor, though.
  • Added WheelHandler, an Event Handler for the mouse wheel, and optionally for emulated mouse wheel events coming from a trackpad.
  • Added BoundaryRule in Qt.labs.animation: a PropertyValueInterceptor that restricts the range of values a numeric property can have, applies "resistance" when the value is overshooting, and provides the ability to animate it back within range. It's particularly useful in combination with WheelHandler, to provide similar physics as Flickable has.
  • Event Handler base classes such as QQuickSinglePointHandler and QQuickMultiPointHandler have private implementation, while the classes themselves are suitable for subclassing, and are exported. They do not have supported public C++ API yet, but we encourage you to experiment with subclassing them anyway using the private API. They are intended to become public at some point in Qt 6 (and we can continue to iterate the API until then, especially to keep up with upcoming changes to the QEvent classes in Qt 6).
  • Image and BorderImage now have the same currentFrame and frameCount properties that AnimatedImage has; this allows choosing an individual ic

ماژول Qt SerialBus

  • [QTBUG-72979] Added operators to compare QCanBusDevice::Filter for equality or inequality.
  • [QTBUG-70449] Added the QCanBusDevice::OperationError and QCanBusDevice::TimeoutError codes to signal wrong operation respectively timeout errors.
  • [QTBUG-70766] Added the function QCanBusDevice::busStatus() to query the CAN bus status from the CAN bus device.
  • [QTBUG-54943] Added the function QCanBusDevice::resetController() to reset a CAN controller from bus off state.
  • [QTBUG-75204] SocketCAN: Added the configuration parameter QCanBusDevice::ProtocolKey to use another protocol inside the protocol family PF_CAN.
  • [QTBUG-54296] SocketCAN: If libsocketcan is available, the CAN bus bitrate can be get and set at runtime.
  • PeakCAN: Added support for PCAN-USB devices on macOS by using the MacCAN library.
  • [QTBUG-75405][QTBUG-76232] Expose the underling QIODevice used for Modbus communication, e.g. for setting the serial port hardware flow control (RTS/CTS).

ماژول Qt WebEngine

  • Updated to be based on Chromium 77
  • [QTBUG-74166] New API for control of QWebEnginePage life-cycle
  • [QTBUG-56978] Methods and properties for download item to get suggested name, and change the download directory and file name
  • [QTBUG-50420] New findTextFinished signal and corresponding QWebEngineFindTextResult and FindTextResult types to get extra information about the result of a text search
  • [QTBUG-55110][QTBUG-51176] Added methods to QWebEngineCertificateError to asynchronously handle an error, and get a chain of digital certificates

ماژول Qt Widgets

  • QTextEdit and QTextBrowser now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
  • Includes the GitHub checklist extension, such that you can click to toggle checkboxes if the widget is editable.
  • QTextBrowser::setSource() detects Markdown based on the file extension.

 

تغییرات در پلتفرم اندروید

  • Android needs NDKr20+
  • Added multi ABI build in one go. By default it will build for all android supported abis (arm64-v8a, armeabi-v7a, x86_64, x86). The user can control which ABIs he wants to use via ANDROID_ABIS qmake variable.
  • Added support for the new AAB package format, which allows deploying a single application bundle to Google Play which contains binaries for all supported ABIs.

ماژول جدید

  • Qt Quick Timeline

کیوت برای اتوماسیون

  • Qt KNX
    • Extended support for KNXnet/IP Core V2 (discovery, tunneling, routing, security)
  • Qt MQTT
    • Added support for using QSslConfiguration when connecting encrypted
    • Added autoKeepAlive property to enable manual connectivity checks
  • Qt OPC UA
    • Added tech preview for GDS client support
    • Updated 3rdparty open62541 to version 1.0
  • Qt CoAP
    • The module leaves the Tech Preview status behind and an API commitment is given.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام و درود،

نسخهٔ ۵.۱۵.۰ به عنوان یک نسخهٔ نهایی از سری کیوت ۵ همراه با ویژگی‌های بسیاری ارائه شد. این نسخه با هدف پشتیبانی کامل از ویژگیِ backward-compatible (پشتیبانی از عقب‌گرد) در نسخه‌های سری ۵ منتشر شده است. اما طبق شرایطی که اخیراً شرکت کیوت اعلام کرده است، این نسخه به دو روش پشتیبانی بلند‌مدت و عادی ارائه می‌شود.

نکته‌ای که باید به آن توجه داشته باشید این است که نسخهٔ LTS صرفاً برای کاربران تجاری مورد استفاده قرار خواهد گرفت. بنابراین توسعه‌دهندگان جامعهٔ متن‌باز یا در واقع نسخهٔ رایگان از کیوت می‌بایست آن را به صورت نصب آنلاین دریافت کنند. و یا می‌توانید کُد‌منبع آن را دریافت کرده و خود آن را کامپایل نمایید.

Screen Shot 2020-05-26 at 8.35.24 PM-min.png

این نسخه شامل ویژگی‌ها و اصلاحیه‌های زیر می‌باشد:

  1. پشتیبانی از ویژگی‌های نسخه‌های قبلی تا قبل از نسخهٔ سری ۶.
  2. پشتیبانی از رابط‌های بک‌اندی ۳ بعدی و رندرینگ که می‌توان یکی از تغییرات بسیار مهم سری کیوت ۵ باشد که در ادامه به آن اشاره شده است.
  3. ماژول کیوت کوئیک ۳ بعدی (Qt Quick 3D)
  4. محیط Qt Design Studio ۱.۵
  5. بهبود‌ها و تغییرات در ماژول Qt QML
  6. بهبود‌ها و تغییرات در ماژول Qt Quick
  7. و دیگر تغییرات و بهبود‌ها...

پشتیبانی از ویژگی‌های نسخه‌های قبلی تا قبل از نسخهٔ سری ۶

کیوت ۵.۱۵ به عنوان یک پله به سمت کیوت ۶ می‌باشد. این در صورتی است که کیوت ۶ در حال تغییر و تحولات بسیاری خواهد بود که در این نسخه از کیوت ۵.۱۵ سعی بر آن شده است که آن را به آسانی ممکن سازد. بسیاری از عملکرد‌هایی مستهلک که نشانه‌گذاری شده‌اند در کیوت ۶ حذف خواهند شد. با توجه به این موارد، کیوت ۵.۱۵ هم به عنوان یک نسخهٔ کامل از سری ۵ و هم یک پیش شروعی از نسخهٔ سری ۶ محسوب خواهد شد.

پشتیبانی از رابط‌های بک‌اندی ۳ بعدی و رندرینگ

احتمالاً مهمترین تغییر در سمت گرافیک و موتور رندرینگ کیوت اتفاق افتاده است. تغییرات بسیاری در لایه‌های زیرین اتفاق می‌افتد که بلافاصله برای کاربران قابل مشاهده نیست. در سال گذشته کار بر روی پشتهٔ گرافیکی صورت گرفت که این به‌روز رسانی در کیوت سری ۶ متمرکز خواهد شد که در حال حاضر نیز در کیوت ۵.۱۵ به عنوان گزینه‌ای در دسترس است.

تیم توسعهٔ کیوت پشته‌های گرافیکی را در کیوت ۵ به خوبی توسعه داده بود تا به صورت چند-سکویی از این رابط‌های گرافیکی سه بعدی استفاده شود. اما طی دو سال اخیر، تغییرات قابل توجهی در صنعت باعث شده است که توسعه و استقرار برنامه‌هایی که از گرافیک‌های سه بعدی استفاده می‌کنند پیچیده‌تر شود. از طرفی اول شروع به کار روی Metal کرد و مدتی پیش پشتیبانی از OpenGL را در macOS و iOS کاهش و منسوخ کرد. گروه Khronos تلاش کرده است تا OpenGL را با Vulkan جایگزین کند که راهی برای اندروید و لینوکس می‌سازد. از طرف دیگر رابط‌های Direct3D 12 مایکروسافت کاملاً بازنویسی شده‌ است و به هیچ وجه با نسخه‌های قدیمی آن سازگار نیست. البته این به این معنی نیست که OpenGL در آینده از بین می‌رود.

با توجه به شعار و قول کیوت با عنوان «چند-سکویی» توسعه‌دهندگان کیوت به دنبال راه حلی هستند که این راه حل در همه جا کار کند. بنابراین برای رسیدن به این هدف، کمی بیشتر از یک سال پیش شروع به کار بر روی یک لایهٔ انتزاعی برای همهٔ آن‌ها تحت Api‌های مختلف کرده‌اند. این رابط سخت‌افزاری Qt Rendering Hardware Interface یا RHI نام دارد و می‌تواند برای اجرای برنامه‌های تحت فناوری کیوت کوئیک (Qt Quick) در بالای Metal، Direct3D و Vulkan و همچنین OpenGL استفاده شود. به عنوان یک پیش‌نمایش فناوری در کیوت ۵.۱۵ پشتیبانی می‌شود، در واقع می‌توانید با فعال‌سازی آن از طریق یک متغیر محیطی، از Qt RHI استفاده کنید. در نهایت در کیوت ۶ این لایه بخش بسیار مهمی از معماری کیوت را تشکیل خواهد داد.

ماژول کیوت کوئیک ۳ بعدی (Qt Quick 3D)

یکی دیگر از ویژگی‌های قابل توجه و جدید در کیوت ۵.۱۵ نیز مربوط به گرافیک است. در زمان آغاز کیوت سری ۵ فناوری Qt Quick را سنگ بنای معماری کیوت در نظر گرفته و معرفی شده است. تمرکز آن بر ساده‌سازی ایجاد رابط‌های کاربری ۲ بعدیِ مبتنی بر لمس بود. امروزه کیوت ۵.۱۵ با یک فناوری جدید‌تر به عنوان Qt Quick 3D نیز معرفی می‌شود، فلسفهٔ آن کاربری آسان و ادغام محتوای ۳ بعدی در برنامه‌های مبتنی بر فناوری Qt Quick می‌باشد. در واقع با استفاده از Qt Quick 3D می‌توانید به راحتی صحنه‌های سه بعدی را در QML تعریف کنید. می‌توانید نور، چراغ، مِش و مواد مورد نظر خود را در آن تعریف کرده و همه چیز را به راحتی با رابط‌های ۲ بعدی خود ترکیب کنید.

در جاهایی که نیاز است رابط‌های ۲ بعدی و ۳ بعدی را به صورت جداگانه تعریف کنید، با توجه به این راه حل دیگر مشکلی در این رابطه وجود نخواهد داشت.

محیط Qt Design Studio ۱.۵

فناوری کیوت کوئیک ۳ بعدی تعداد زیادی از گزینه‌ها را برای ایجاد یک برنامهٔ جدید و جالب شامل عناصر ۲ بعدی و ۳ بعدی را فراهم می‌کند. بنابراین تلاش‌های بسیاری در توسعهٔ محیط Qt Design Studio شده است، تمام این قابلیت‌ها در اختیار و دسترس طراحان قرار می‌گیرد. به همین دلیل این یک نکتهٔ قوت است که بگوییم پشتیبانی از فناوری کیوت کوئیک ۳ در این نسخه از محیط استودیو طراحی کیوت ارائه می‌شود.

بهبود‌ها و تغییرات در ماژول Qt QML

در این بخش کیوت توانسته است گزینهٔ required را برای کامپوننت نویسی ارائه کند. این‌ها گزینه‌هایی هستند که به صورت پیش‌فرض می‌تواند توسط کاربر برای اجزاء اعمال شوند. بنابراین کامپوننت‌ها از این پس می‌توانند به صورت درون خطی در یک سند QML معین شوند. در کنار این یک روش جدید برای اعلان و ثبت انواع در QML ارائه شده است.

بهبودی در ابزار qmllint رخ داده است و به مراتب راجع به مشکلات احتمالی در پایهٔ کد‌های QML نتیجهٔ بهتری را خواهد داشت.

بهبود‌ها و تغییرات در ماژول Qt Quick

چند ویژگی جدید نیز در Qt Quick ظاهر شده است. پشتیبانی از فضاهای رنگی در عنصر Image اضافه شده‌است. عنصر جدیدی به نام PathText به Qt Quick Shapes اضافه شده است. کنترل اشاره‌گر‌ها در گزینهٔ cursorShape برای مدیریت شکل مکان‌نما در سیستم‌های دسکتاپی و یک آیتم HeaderView برای افزودن آسان هدر‌های افقی یا عمدی در TableView اضافه شده است.

دیگر بهبود‌ها

  • کاربران کیوت خوشحال خواهند شد که بدانند، اکنون می‌توانند پشتیبانی بسیار بهتری را در رابطه با ظاهر (دکوراسیون) پنجره‌های سفارشی داشته باشند که به شما این امکان را می‌دهد تا تزئینات پنجرهٔ خود را تعریف کرده و محتوای سفارشی را در فضای نوار عنوان پنجره‌ها اعمال کنید.
  • ماژول Qt Lottie، ماژولی که به عنوان یک پیش‌نمایش در نسخهٔ ۵.۱۴ معرفی شده بود، اکنون به صورت کامل پشتیبانی می‌شود. این ماژول به شما امکان می‌دهد تا از انیمیشن‌های After Effect در برنامه‌نویسی مبتنی بر کیوت استفاده کنید.
  • ماژول Qt WebEgine از کرومیوم نسخهٔ ۷۷ در ۵.۱۴ به کرومیوم ۸۰ به‌روز شده است و با تمامی ویژگی‌های جدید از به‌روز‌رسانی‌های کرومیوم همراه است.
  • ماژول Qt 3D پشتیبانی از اشکال‌زدائی و چند ویژگی جدید و کوچکتر را به همراه دارد.
  • ماژول Qt Multimedia، اکنون از چند سطح رندرینگ پشتیبانی می‌کند. در Qt GUI مقیاس‌بندی تصویر و روال تبدیل اکنون برای بسیاری از موارد چند رشته‌ای قابل استفاده است.
  • ماژول Qt Network اکنون از نسخهٔ TLS 1.3 پشتیبانی می‌کند.
  • در ماژول Qt Core، QRunnable و QThreadPool اکنون می‌توانند با std::function کار کنند و همچنین یک روش QFile::moveToTrash() برای انتقال فایل‌ها به داحل سطل زباله به صورت چند-سکویی فراهم شده است.
  • در نهایت نیز پشتیبانی از دیالوگ (پنجره‌های گفتگو) بومی در اندروید اضافه شده است و نیازی نیست کد‌های اضافی در این بخش اعمال کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...